fix tables
diff --git a/platforms/xdk110/index.html b/platforms/xdk110/index.html
index 4c358bd..f9740d3 100644
--- a/platforms/xdk110/index.html
+++ b/platforms/xdk110/index.html
@@ -1192,9 +1192,25 @@
 
 <h4 id="modalities-9">Modalities</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>light_up: bool</code>                | Represents one of the three LEDs.     | <code>color: LedColor</code>  | One of <code>Yellow</code>, <code>Orange</code> or <code>Red</code>.</p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>light_up: bool</code></td>
+<td>Represents one of the three LEDs.</td>
+<td><code>color: LedColor</code></td>
+<td>One of <code>Yellow</code>, <code>Orange</code> or <code>Red</code>.</td>
+</tr>
+</tbody>
+</table>
 
 <h3 id="adc">ADC</h3>
 
@@ -1222,12 +1238,46 @@
 
 <h4 id="signals">Signals</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>channel: uint16</code>  | An ADC channel, read only. [mV]  | <code>channel: ADC_Channel</code>  | Which channel to measure.
- || <code>referenceVoltage: ADC_Reference_Voltage</code>  | Which voltage to measure against. Default: <code>2.5V</code> internal voltage reference.
- || <code>resolution: ADC_Resolution</code>  | Default: <code>12 bit</code>
- || <code>sampleTime: ADC_SampleTime</code>  | Over how many <em>clock</em> cycles the ADC samples its input. Default: <code>16</code> cycles.</p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>channel: uint16</code></td>
+<td>An ADC channel, read only. [mV]</td>
+<td><code>channel: ADC_Channel</code></td>
+<td>Which channel to measure.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>referenceVoltage: ADC_Reference_Voltage</code></td>
+<td>Which voltage to measure against. Default: <code>2.5V</code> internal voltage reference.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>resolution: ADC_Resolution</code></td>
+<td>Default: <code>12 bit</code></td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>sampleTime: ADC_SampleTime</code></td>
+<td>Over how many <em>clock</em> cycles the ADC samples its input. Default: <code>16</code> cycles.</td>
+</tr>
+</tbody>
+</table>
 
 <h3 id="ble">BLE</h3>
 
@@ -1273,11 +1323,39 @@
 
 <h4 id="signals-1">Signals</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>bool_characteristic(): bool</code>      | A boolean GATT characteristic.           | <code>UUID: uint32</code>  | The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.
-<code>uint32_characteristic(): uint32</code>  | An unsigned integer GATT characteristic. | <code>UUID: uint32</code>  | The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.
-<code>int32_characteristic(): int32</code>    | A signed integer GATT characteristic.    | <code>UUID: uint32</code>  | The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.</p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>bool_characteristic(): bool</code></td>
+<td>A boolean GATT characteristic.</td>
+<td><code>UUID: uint32</code></td>
+<td>The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.</td>
+</tr>
+
+<tr>
+<td><code>uint32_characteristic(): uint32</code></td>
+<td>An unsigned integer GATT characteristic.</td>
+<td><code>UUID: uint32</code></td>
+<td>The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.</td>
+</tr>
+
+<tr>
+<td><code>int32_characteristic(): int32</code></td>
+<td>A signed integer GATT characteristic.</td>
+<td><code>UUID: uint32</code></td>
+<td>The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.</td>
+</tr>
+</tbody>
+</table>
 
 <h3 id="wlan">WLAN</h3>
 
@@ -1418,10 +1496,32 @@
 
 <h4 id="signals-2">Signals</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>topic: string</code>  | Publishes a message to a particular topic.  | <code>name: string</code>  | The topic&rsquo;s name.
- || <code>qos: uint32</code>  | Default: <code>0</code></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>topic: string</code></td>
+<td>Publishes a message to a particular topic.</td>
+<td><code>name: string</code></td>
+<td>The topic&rsquo;s name.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>qos: uint32</code></td>
+<td>Default: <code>0</code></td>
+</tr>
+</tbody>
+</table>
 
 <h3 id="eclipse-hono">Eclipse Hono</h3>
 
@@ -1494,10 +1594,32 @@
 
 <h4 id="signals-3">Signals</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>telemetry: string</code>  | Publishes a message to a particular topic.  | <code>qos: uint32</code>  | Default: <code>0</code>
-<code>event: string</code>  | Publishes a message to a particular topic.  | <code>qos: uint32</code>  | Default: <code>0</code></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>telemetry: string</code></td>
+<td>Publishes a message to a particular topic.</td>
+<td><code>qos: uint32</code></td>
+<td>Default: <code>0</code></td>
+</tr>
+
+<tr>
+<td><code>event: string</code></td>
+<td>Publishes a message to a particular topic.</td>
+<td><code>qos: uint32</code></td>
+<td>Default: <code>0</code></td>
+</tr>
+</tbody>
+</table>
 
 <h3 id="rest-over-http">REST over HTTP</h3>
 
@@ -1552,11 +1674,39 @@
 
 <h4 id="signals-4">Signals</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>resource: string</code>              | A REST resource on the server.        | <code>endpoint: string</code>  | The REST path to the resource.
- || <code>writeMethod: HttpMethod</code>  | Which method to use when writing. Default: <code>POST</code>
- || <code>readMethod: HttpMethod</code>   | Which method to use when reading. Default: <code>GET</code></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>resource: string</code></td>
+<td>A REST resource on the server.</td>
+<td><code>endpoint: string</code></td>
+<td>The REST path to the resource.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>writeMethod: HttpMethod</code></td>
+<td>Which method to use when writing. Default: <code>POST</code></td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>readMethod: HttpMethod</code></td>
+<td>Which method to use when reading. Default: <code>GET</code></td>
+</tr>
+</tbody>
+</table>
 
 <h3 id="lora">LoRa</h3>
 
@@ -1659,12 +1809,46 @@
 
 <h4 id="signals-5">Signals</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>raw: array&lt;uint8&gt;</code>             | Send data input as raw bytes.         | <code>portNum: uint8</code>  | Which port to use. Default: <code>1</code>
- || <code>confirmation: LoRaMessageConfirmation</code>   | Whether to send confirmed messages. One of <code>Confirmed</code> and <code>Unconfirmed</code>. Default: <code>Unconfirmed</code>
-<code>cayenne: array&lt;CayennePayload&gt;</code> | Send serialized CayenneLPP messages. | <code>portNum: uint8</code>  | Which port to use. Default: <code>1</code>
- || <code>confirmation: LoRaMessageConfirmation</code>   | Whether to send confirmed messages. One of <code>Confirmed</code> and <code>Unconfirmed</code>. Default: <code>Unconfirmed</code></p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>raw: array&lt;uint8&gt;</code></td>
+<td>Send data input as raw bytes.</td>
+<td><code>portNum: uint8</code></td>
+<td>Which port to use. Default: <code>1</code></td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>confirmation: LoRaMessageConfirmation</code></td>
+<td>Whether to send confirmed messages. One of <code>Confirmed</code> and <code>Unconfirmed</code>. Default: <code>Unconfirmed</code></td>
+</tr>
+
+<tr>
+<td><code>cayenne: array&lt;CayennePayload&gt;</code></td>
+<td>Send serialized CayenneLPP messages.</td>
+<td><code>portNum: uint8</code></td>
+<td>Which port to use. Default: <code>1</code></td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>confirmation: LoRaMessageConfirmation</code></td>
+<td>Whether to send confirmed messages. One of <code>Confirmed</code> and <code>Unconfirmed</code>. Default: <code>Unconfirmed</code></td>
+</tr>
+</tbody>
+</table>
 
 <h4 id="cayenne-messages">Cayenne Messages</h4>
 
@@ -1707,12 +1891,46 @@
 <span class="p">}</span></code></pre></div>
 <h4 id="signals-6">Signals</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>digitalIn: bool</code>               | A GPIO-pin configured in input mode.  | <code>pin: GPIOPin</code>  | which pin to configure.
- | | <code>mode: GPIOMode</code>  | whether this pin is pull up, pull down or floating.
-<code>digitalOut: bool</code>              | A GPIO-pin configured in output mode. | <code>pin: GPIOPin</code>  | which pin to configure.
- | | <code>initialValue: bool</code>  | The pin&rsquo;s initial value after startup. Default is low (<code>false</code>).</p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>digitalIn: bool</code></td>
+<td>A GPIO-pin configured in input mode.</td>
+<td><code>pin: GPIOPin</code></td>
+<td>which pin to configure.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>mode: GPIOMode</code></td>
+<td>whether this pin is pull up, pull down or floating.</td>
+</tr>
+
+<tr>
+<td><code>digitalOut: bool</code></td>
+<td>A GPIO-pin configured in output mode.</td>
+<td><code>pin: GPIOPin</code></td>
+<td>which pin to configure.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>initialValue: bool</code></td>
+<td>The pin&rsquo;s initial value after startup. Default is low (<code>false</code>).</td>
+</tr>
+</tbody>
+</table>
 
 <h3 id="i2c-1">I2C</h3>
 
@@ -1746,13 +1964,53 @@
 
 <h4 id="signals-7">Signals</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>register_</code><em>intType</em><code>:</code><em>intType</em>                   | A device register of size and sign specified by <em>intType</em>.                              | <code>address: uint8</code>  | the register&rsquo;s address.
- | | <code>I2CMode: I2CMode</code>  | whether this register is read, write, both or none. This only has an effect on validation, not on initialization.
-<code>array_register_</code> <em>intType</em> <code>: array&lt;</code><em>intType</em><code>&gt;</code> | A device register consisting of multiple words of size and sign specified by <em>intType</em>. | <code>address: uint8</code>  | the register&rsquo;s starting address.
- | | <code>I2CMode: I2CMode</code>  | whether this register is read, write, both or none. This only has an effect on validation, not on initialization.
- | | <code>length: uint8</code>  | how many words this register consists of.</p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>register_</code><em>intType</em><code>:</code><em>intType</em></td>
+<td>A device register of size and sign specified by <em>intType</em>.</td>
+<td><code>address: uint8</code></td>
+<td>the register&rsquo;s address.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>I2CMode: I2CMode</code></td>
+<td>whether this register is read, write, both or none. This only has an effect on validation, not on initialization.</td>
+</tr>
+
+<tr>
+<td><code>array_register_</code> <em>intType</em> <code>: array&lt;</code><em>intType</em><code>&gt;</code></td>
+<td>A device register consisting of multiple words of size and sign specified by <em>intType</em>.</td>
+<td><code>address: uint8</code></td>
+<td>the register&rsquo;s starting address.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>I2CMode: I2CMode</code></td>
+<td>whether this register is read, write, both or none. This only has an effect on validation, not on initialization.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>length: uint8</code></td>
+<td>how many words this register consists of.</td>
+</tr>
+</tbody>
+</table>
 
 <h2 id="io">IO</h2>
 
@@ -1784,20 +2042,102 @@
 
 <h4 id="configuration-16">Configuration</h4>
 
-<p>Name                            | Description                           | Parameters |
-&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;&mdash;
-<code>resumingTextRead: string</code>           | Provides read access to a file. Continues reading from last position.                                 | <code>filePath: string</code> | The absolute path to the file.
- | | <code>blockSize: uint32</code> | The size of the buffer to be read at once.
-<code>appendingTextWrite: string</code>         | Provides write access to a file. Appends to existing files.                                           | <code>filePath: string</code> | The absolute path to the file.
-<code>rewindingTextRead: string</code>          | Provides read access to a file. Always reads from the start of the file.                              | <code>filePath: string</code> | The absolute path to the file.
- | | <code>fileSize: uint32</code>  | The size of the buffer to be read at once.
-<code>rewindingTextWrite: string</code>         | Provides write access to a file. Always truncates the file.                                           | <code>filePath: string</code> | The absolute path to the file.
-<code>resumingBinaryRead: array&lt;uint8&gt;</code>   | Provides read access to a file. Continues reading from last position. Reads bytes instead of text.    | <code>filePath: string</code> | The absolute path to the file.
- | | <code>blockSize: uint32</code> | The size of the buffer to be read at once.
-<code>appendingBinaryWrite: array&lt;uint8&gt;</code> | Provides write access to a file. Appends to existing files. Reads bytes instead of text.              | <code>filePath: string</code> | The absolute path to the file.
-<code>rewindingBinaryRead: array&lt;uint8&gt;</code>  | Provides read access to a file. Always reads from the start of the file. Reads bytes instead of text. | <code>filePath: string</code> | The absolute path to the file.
- | | <code>fileSize: uint32</code>  | The size of the buffer to be read at once.
-<code>rewindingBinaryWrite: array&lt;uint8&gt;</code> | Provides write access to a file. Always truncates the file. Reads bytes instead of text.              | <code>filePath: string</code> | The absolute path to the file.</p>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Description</th>
+<th>Parameters</th>
+<th></th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td><code>resumingTextRead: string</code></td>
+<td>Provides read access to a file. Continues reading from last position.</td>
+<td><code>filePath: string</code></td>
+<td>The absolute path to the file.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>blockSize: uint32</code></td>
+<td>The size of the buffer to be read at once.</td>
+</tr>
+
+<tr>
+<td><code>appendingTextWrite: string</code></td>
+<td>Provides write access to a file. Appends to existing files.</td>
+<td><code>filePath: string</code></td>
+<td>The absolute path to the file.</td>
+</tr>
+
+<tr>
+<td><code>rewindingTextRead: string</code></td>
+<td>Provides read access to a file. Always reads from the start of the file.</td>
+<td><code>filePath: string</code></td>
+<td>The absolute path to the file.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>fileSize: uint32</code></td>
+<td>The size of the buffer to be read at once.</td>
+</tr>
+
+<tr>
+<td><code>rewindingTextWrite: string</code></td>
+<td>Provides write access to a file. Always truncates the file.</td>
+<td><code>filePath: string</code></td>
+<td>The absolute path to the file.</td>
+</tr>
+
+<tr>
+<td><code>resumingBinaryRead: array&lt;uint8&gt;</code></td>
+<td>Provides read access to a file. Continues reading from last position. Reads bytes instead of text.</td>
+<td><code>filePath: string</code></td>
+<td>The absolute path to the file.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>blockSize: uint32</code></td>
+<td>The size of the buffer to be read at once.</td>
+</tr>
+
+<tr>
+<td><code>appendingBinaryWrite: array&lt;uint8&gt;</code></td>
+<td>Provides write access to a file. Appends to existing files. Reads bytes instead of text.</td>
+<td><code>filePath: string</code></td>
+<td>The absolute path to the file.</td>
+</tr>
+
+<tr>
+<td><code>rewindingBinaryRead: array&lt;uint8&gt;</code></td>
+<td>Provides read access to a file. Always reads from the start of the file. Reads bytes instead of text.</td>
+<td><code>filePath: string</code></td>
+<td>The absolute path to the file.</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td><code>fileSize: uint32</code></td>
+<td>The size of the buffer to be read at once.</td>
+</tr>
+
+<tr>
+<td><code>rewindingBinaryWrite: array&lt;uint8&gt;</code></td>
+<td>Provides write access to a file. Always truncates the file. Reads bytes instead of text.</td>
+<td><code>filePath: string</code></td>
+<td>The absolute path to the file.</td>
+</tr>
+</tbody>
+</table>