Fix up the spec tables.

This commit is contained in:
Tim 'mithro' Ansell 2020-02-11 10:14:10 -08:00
parent 37046b2a82
commit 030bd3881c
4 changed files with 199 additions and 165 deletions

View file

@ -25,9 +25,9 @@ def convert(l):
v = v.replace(',','')
if v == 'No':
v = False
v = 'No' #False
elif v == 'Yes':
v = True
v = 'Yes' #True
else:
try:
v = float(v)
@ -98,6 +98,7 @@ for (s, n), d in row_data:
for pn, v in zip(parts_name, d):
output_data[pn][n] = v
del output_data['?omu']
pprint.pprint(output_data)
with open('specs.json', 'w') as f:
json.dump(output_data, f, sort_keys=True, indent=2)

View file

@ -1,60 +1,19 @@
{
"?omu": {
"crypto_acceleration": "?",
"crypto_random_number_generator": "?",
"image": "?",
"links_bootloader": "?",
"links_buy": "?",
"links_hardware_design": "?",
"links_hardware_schematics": "?",
"links_license": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "?",
"made_in": "?",
"manufacturer": "?",
"microprocessor_architecture": "?",
"microprocessor_class": "?",
"microprocessor_coremark_mhz": "?",
"microprocessor_dmips_mhz": "?",
"microprocessor_manufacturer": "?",
"microprocessor_mhz": "?",
"microprocessor_part": "?",
"name": "?omu",
"pcb_color": "?",
"peripherals_buttons": "?",
"peripherals_leds": "?",
"peripherals_usb": "?",
"purchase_link": "?",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": "?",
"software_support_bare_metal_c": "?",
"software_support_circuit_python": "?",
"software_support_dfu_bootloader": "?",
"software_support_fido2": "?",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": "?",
"software_support_qemu_emulation": "?",
"software_support_remode_emulation": "?",
"software_support_rust": "?",
"software_support_u2f": "?",
"software_support_zephyr": "?",
"status": "Idea",
"storage_flash": "?",
"storage_memory": "?",
"tagline": "Add to the Tomu family?",
"variant": "?"
},
"bomu": {
"crypto_acceleration": "?",
"crypto_random_number_generator": "?",
"image": "?",
"current_version": "Preproduction",
"image": "https://tomu.im/img/logos/bomu.png",
"links_bom": "?",
"links_bootloader": "?",
"links_buy": "?",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/fomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "",
@ -62,7 +21,7 @@
"manufacturer": "?",
"microprocessor_architecture": "ARM",
"microprocessor_class": "ARM Cortex-M4",
"microprocessor_coremark_mhz": "?",
"microprocessor_coremark_mhz": 3.3,
"microprocessor_dmips_mhz": "?",
"microprocessor_manufacturer": "Nordic?",
"microprocessor_mhz": 64.0,
@ -74,18 +33,20 @@
"peripherals_usb": "2.0 FS",
"purchase_link": "?",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": true,
"sizing_fits_inside_your_usb_port": "Yes",
"software_support_bare_metal_c": "?",
"software_support_bare_metal_rust": "?",
"software_support_circuit_python": "?",
"software_support_dfu_bootloader": "?",
"software_support_fido2": "?",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": "?",
"software_support_nuttx": "?",
"software_support_qemu_emulation": "?",
"software_support_remode_emulation": "?",
"software_support_rust": "?",
"software_support_renode_emulation": "?",
"software_support_u2f": "?",
"software_support_verilator_emulation": "?",
"software_support_zephyr": "?",
"status": "Idea",
"storage_flash": 1024.0,
@ -96,12 +57,18 @@
"comu": {
"crypto_acceleration": "?",
"crypto_random_number_generator": "?",
"current_version": "?",
"image": "?",
"links_bom": "?",
"links_bootloader": "?",
"links_buy": "?",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/fomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "?",
@ -121,18 +88,20 @@
"peripherals_usb": "C",
"purchase_link": "?",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": true,
"sizing_fits_inside_your_usb_port": "Yes",
"software_support_bare_metal_c": "?",
"software_support_bare_metal_rust": "?",
"software_support_circuit_python": "?",
"software_support_dfu_bootloader": "?",
"software_support_fido2": "?",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": "?",
"software_support_nuttx": "?",
"software_support_qemu_emulation": "?",
"software_support_remode_emulation": "?",
"software_support_rust": "?",
"software_support_renode_emulation": "?",
"software_support_u2f": "?",
"software_support_verilator_emulation": "?",
"software_support_zephyr": "?",
"status": "Idea",
"storage_flash": "?",
@ -142,13 +111,19 @@
},
"fomu-evt1": {
"crypto_acceleration": "User",
"crypto_random_number_generator": false,
"image": "?",
"links_bootloader": "?",
"crypto_random_number_generator": "No",
"current_version": "evt3b",
"image": "https://tomu.im/img/logos/fomu.png",
"links_bom": "?",
"links_bootloader": "https://github.com/im-tomu/foboot",
"links_buy": "NA",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/fomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "https://github.com/im-tomu/fomu-hardware/tree/master/archive/evt",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "",
@ -166,21 +141,23 @@
"peripherals_buttons": "?",
"peripherals_leds": "RGB",
"peripherals_usb": "2.0 FS",
"purchase_link": "?",
"purchase_link": "NA",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": false,
"software_support_bare_metal_c": true,
"sizing_fits_inside_your_usb_port": "No",
"software_support_bare_metal_c": "Yes",
"software_support_bare_metal_rust": "Yes",
"software_support_circuit_python": "In Progress",
"software_support_dfu_bootloader": "foboot",
"software_support_fido2": "Not Yet",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": true,
"software_support_micropython": "Yes",
"software_support_nuttx": "?",
"software_support_qemu_emulation": "Not Yet",
"software_support_remode_emulation": "Not Yet",
"software_support_rust": "?",
"software_support_renode_emulation": "In Progress",
"software_support_u2f": "Not Yet",
"software_support_zephyr": true,
"software_support_verilator_emulation": "Yes",
"software_support_zephyr": "Yes",
"status": "EOL",
"storage_flash": "?",
"storage_memory": 128.0,
@ -189,13 +166,19 @@
},
"fomu-hacker": {
"crypto_acceleration": "User",
"crypto_random_number_generator": false,
"image": "?",
"links_bootloader": "?",
"crypto_random_number_generator": "No",
"current_version": "?",
"image": "https://tomu.im/img/logos/fomu.png",
"links_bom": "?",
"links_bootloader": "https://github.com/im-tomu/foboot",
"links_buy": "NA",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/fomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "",
@ -213,21 +196,23 @@
"peripherals_buttons": "?",
"peripherals_leds": "RGB",
"peripherals_usb": "2.0 FS",
"purchase_link": "?",
"purchase_link": "NA",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": true,
"software_support_bare_metal_c": true,
"sizing_fits_inside_your_usb_port": "Yes",
"software_support_bare_metal_c": "Yes",
"software_support_bare_metal_rust": "Yes",
"software_support_circuit_python": "In Progress",
"software_support_dfu_bootloader": "foboot",
"software_support_fido2": "Not Yet",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": true,
"software_support_micropython": "Yes",
"software_support_nuttx": "?",
"software_support_qemu_emulation": "Not Yet",
"software_support_remode_emulation": "Not Yet",
"software_support_rust": "?",
"software_support_renode_emulation": "In Progress",
"software_support_u2f": "Not Yet",
"software_support_zephyr": true,
"software_support_verilator_emulation": "Yes",
"software_support_zephyr": "Yes",
"status": "EOL",
"storage_flash": 2048.0,
"storage_memory": 128.0,
@ -236,15 +221,21 @@
},
"fomu-pvt1": {
"crypto_acceleration": "User",
"crypto_random_number_generator": false,
"image": "?",
"links_bootloader": "?",
"crypto_random_number_generator": "No",
"current_version": "pvt1",
"image": "https://tomu.im/img/logos/fomu.png",
"links_bom": "?",
"links_bootloader": "https://github.com/im-tomu/foboot",
"links_buy": "https://j.mp/fomu-cs",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/fomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "https://github.com/im-tomu/fomu-hardware/tree/master/archive/pvt/pcb",
"links_quickstart": "?",
"links_schematics": "?",
"links_schematics": "https://github.com/im-tomu/fomu-hardware/raw/master/archive/pvt/releases/pvt1/gerber/tomu-fpga-schematic.pdf",
"logo": "",
"made_in": "China",
"manufacturer": "Kosagi",
@ -260,21 +251,23 @@
"peripherals_buttons": "?",
"peripherals_leds": "RGB",
"peripherals_usb": "2.0 FS",
"purchase_link": "?",
"purchase_link": "https://j.mp/fomu-cs",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": true,
"software_support_bare_metal_c": true,
"sizing_fits_inside_your_usb_port": "Yes",
"software_support_bare_metal_c": "Yes",
"software_support_bare_metal_rust": "Yes",
"software_support_circuit_python": "In Progress",
"software_support_dfu_bootloader": "foboot",
"software_support_fido2": "Not Yet",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": true,
"software_support_micropython": "Yes",
"software_support_nuttx": "?",
"software_support_qemu_emulation": "Not Yet",
"software_support_remode_emulation": "Not Yet",
"software_support_rust": "?",
"software_support_renode_emulation": "In Progress",
"software_support_u2f": "Not Yet",
"software_support_zephyr": true,
"software_support_verilator_emulation": "Yes",
"software_support_zephyr": "Yes",
"status": "For sale",
"storage_flash": 2048.0,
"storage_memory": 128.0,
@ -284,12 +277,18 @@
"lomu": {
"crypto_acceleration": "?",
"crypto_random_number_generator": "?",
"image": "?",
"current_version": "Preproduction",
"image": "https://tomu.im/img/logos/lomu.png",
"links_bom": "?",
"links_bootloader": "?",
"links_buy": "?",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/fomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "",
@ -311,16 +310,18 @@
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": "?",
"software_support_bare_metal_c": "?",
"software_support_bare_metal_rust": "?",
"software_support_circuit_python": "?",
"software_support_dfu_bootloader": "?",
"software_support_fido2": "?",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": "?",
"software_support_nuttx": "?",
"software_support_qemu_emulation": "?",
"software_support_remode_emulation": "?",
"software_support_rust": "?",
"software_support_renode_emulation": "?",
"software_support_u2f": "?",
"software_support_verilator_emulation": "?",
"software_support_zephyr": "?",
"status": "Idea",
"storage_flash": "?",
@ -330,13 +331,19 @@
},
"somu": {
"crypto_acceleration": "none",
"crypto_random_number_generator": true,
"image": "?",
"crypto_random_number_generator": "Yes",
"current_version": "?",
"image": "https://tomu.im/img/logos/somu.png",
"links_bom": "?",
"links_bootloader": "?",
"links_buy": "https://j.mp/somu-cs",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/fomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "",
@ -354,36 +361,44 @@
"peripherals_buttons": 2.0,
"peripherals_leds": "RGB",
"peripherals_usb": "2.0 FS",
"purchase_link": "?",
"purchase_link": "https://j.mp/somu-cs",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": true,
"software_support_bare_metal_c": true,
"sizing_fits_inside_your_usb_port": "Yes",
"software_support_bare_metal_c": "Yes",
"software_support_bare_metal_rust": "Yes!",
"software_support_circuit_python": "?",
"software_support_dfu_bootloader": "stm32",
"software_support_fido2": true,
"software_support_fido2": "Yes",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": "?",
"software_support_nuttx": "?",
"software_support_qemu_emulation": "?",
"software_support_remode_emulation": "?",
"software_support_rust": "Yes!",
"software_support_u2f": true,
"software_support_renode_emulation": "?",
"software_support_u2f": "Yes",
"software_support_verilator_emulation": "?",
"software_support_zephyr": "?",
"status": "Crowdfunding",
"storage_flash": 256.0,
"storage_memory": 64.0,
"tagline": "An FPGA development board which fits inside your USB port!",
"tagline": "A secure microcontroller which fits inside your USB port!",
"variant": "?"
},
"tomu-production": {
"crypto_acceleration": "AES?",
"crypto_random_number_generator": false,
"image": "?",
"links_bootloader": "?",
"crypto_random_number_generator": "No",
"current_version": "v0.4.6",
"image": "https://tomu.im/img/logos/tomu.png",
"links_bom": "?",
"links_bootloader": "https://github.com/im-tomu/toboot",
"links_buy": "https://j.mp/tomu-cs",
"links_case": "?",
"links_gerber": "https://github.com/im-tomu/tomu-hardware/tree/master/releases/v0.4.6/gerber",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/tomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "",
@ -401,20 +416,22 @@
"peripherals_buttons": 2.0,
"peripherals_leds": "R+G",
"peripherals_usb": "2.0 FS",
"purchase_link": "?",
"purchase_link": "https://j.mp/tomu-cs",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": true,
"software_support_bare_metal_c": true,
"software_support_circuit_python": false,
"sizing_fits_inside_your_usb_port": "Yes",
"software_support_bare_metal_c": "Yes",
"software_support_bare_metal_rust": "?",
"software_support_circuit_python": "No",
"software_support_dfu_bootloader": "toboot",
"software_support_fido2": "Maybe?",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": false,
"software_support_micropython": "No",
"software_support_nuttx": "No",
"software_support_qemu_emulation": "Maybe?",
"software_support_remode_emulation": "Maybe?",
"software_support_rust": "?",
"software_support_u2f": true,
"software_support_renode_emulation": "Maybe?",
"software_support_u2f": "Yes",
"software_support_verilator_emulation": "No",
"software_support_zephyr": "In Progress?",
"status": "For sale",
"storage_flash": 64.0,
@ -424,13 +441,19 @@
},
"tomu-self-made": {
"crypto_acceleration": "AES?",
"crypto_random_number_generator": false,
"image": "?",
"links_bootloader": "?",
"crypto_random_number_generator": "No",
"current_version": "?",
"image": "https://tomu.im/img/logos/tomu.png",
"links_bom": "https://github.com/im-tomu/tomu-hardware#bom",
"links_bootloader": "https://github.com/im-tomu/toboot",
"links_buy": "NA",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/tomu-hardware",
"links_hardware_schematics": "?",
"links_license": "CC-BY-SA or TAPR",
"links_pcb": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "",
@ -448,20 +471,22 @@
"peripherals_buttons": 2.0,
"peripherals_leds": "R+G",
"peripherals_usb": "2.0 FS",
"purchase_link": "?",
"purchase_link": "NA",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": true,
"software_support_bare_metal_c": true,
"software_support_circuit_python": false,
"sizing_fits_inside_your_usb_port": "Yes",
"software_support_bare_metal_c": "Yes",
"software_support_bare_metal_rust": "?",
"software_support_circuit_python": "No",
"software_support_dfu_bootloader": "toboot",
"software_support_fido2": "Maybe?",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": false,
"software_support_micropython": "No",
"software_support_nuttx": "No",
"software_support_qemu_emulation": "Maybe?",
"software_support_remode_emulation": "Maybe?",
"software_support_rust": "?",
"software_support_u2f": true,
"software_support_renode_emulation": "Maybe?",
"software_support_u2f": "Yes",
"software_support_verilator_emulation": "No",
"software_support_zephyr": "In Progress?",
"status": "NA",
"storage_flash": 64.0,
@ -472,12 +497,18 @@
"womu": {
"crypto_acceleration": "?",
"crypto_random_number_generator": "?",
"image": "?",
"current_version": "Preproduction",
"image": "https://tomu.im/img/logos/womu.png",
"links_bom": "?",
"links_bootloader": "?",
"links_buy": "?",
"links_case": "?",
"links_gerber": "?",
"links_hardware_design": "?",
"links_hardware_repository": "https://github.com/im-tomu/fomu-hardware",
"links_hardware_schematics": "?",
"links_license": "?",
"links_pcb": "?",
"links_quickstart": "?",
"links_schematics": "?",
"logo": "",
@ -486,7 +517,7 @@
"microprocessor_architecture": "Xtensa",
"microprocessor_class": "?",
"microprocessor_coremark_mhz": "?",
"microprocessor_dmips_mhz": "?",
"microprocessor_dmips_mhz": 2.5,
"microprocessor_manufacturer": "Espressif",
"microprocessor_mhz": 240.0,
"microprocessor_part": "ESP32-D2WD",
@ -497,23 +528,25 @@
"peripherals_usb": "?",
"purchase_link": "?",
"sizing_case": "?",
"sizing_fits_inside_your_usb_port": true,
"sizing_fits_inside_your_usb_port": "Yes",
"software_support_bare_metal_c": "?",
"software_support_bare_metal_rust": "?",
"software_support_circuit_python": "?",
"software_support_dfu_bootloader": "?",
"software_support_fido2": "?",
"software_support_gcc_status": "?",
"software_support_llvm_status": "?",
"software_support_micropython": true,
"software_support_micropython": "Yes",
"software_support_nuttx": "?",
"software_support_qemu_emulation": "?",
"software_support_remode_emulation": "?",
"software_support_rust": "?",
"software_support_renode_emulation": "?",
"software_support_u2f": "?",
"software_support_verilator_emulation": "?",
"software_support_zephyr": "?",
"status": "Development",
"storage_flash": "?",
"storage_memory": 536.0,
"tagline": "An FPGA development board which fits inside your USB port!",
"tagline": "Wireless?",
"variant": "?"
}
}

View file

@ -50,7 +50,7 @@ table.spec-table img {
<td><img height="100" src="/img/logos/{{ d.name|downcase }}.png"></td>
</tr><tr>
<th>Name</th>
<td>{{ d.name }}{% if d.variant != "" %}({{ d.variant }}){% endif %}</td>
<td>{{ d.name }}{% if d.variant != "" %} ({{ d.variant }}){% endif %}</td>
</tr><tr>
<th>Manufacturer</th>
<td>{{ d.manufacturer }}</td>
@ -108,54 +108,54 @@ table.spec-table img {
<th colspan="2"><h3>Toolchain Support</h3></th>
</tr><tr>
<th>Bare Metal C</th>
<td>{{ d.software_bare_metal_c }}
(<a href="https://gcc.gnu.org">GCC</a>: {{ d.software_gcc_status }}, <a href="https://llvm.org">LLVM</a>: {{ d.software_llvm_status }})
<td>{{ d.software_support_bare_metal_c }}
(<a href="https://gcc.gnu.org">GCC</a>: {{ d.software_support_gcc_status }}, <a href="https://llvm.org">LLVM</a>: {{ d.software_support_llvm_status }})
</td>
</tr><tr>
<th><a href="https://rust-embedded.github.io/book/">Embedded Rust</a></th>
<td>{{ d.software_bare_metal_rust }}</td>
<td>{{ d.software_support_bare_metal_rust }}</td>
</tr>
<!-- ====================== -->
<tr class="header">
<th colspan="2"><h3>Software Support</h3></th>
</tr><tr>
<th><div><a href="https://www.zephyrproject.org/"><img src="/img/logos/external/zephyr.png"><br>Zephyr</a></div></th>
<td>{{ d.software_zephyr }}</td>
<th><div><a href="https://www.zephyrproject.org/"><img src="/img/logos/external/zephyr.png"><br>Zephyr</a></div></th>
<td>{{ d.software_support_zephyr }}</td>
</tr><tr>
<th><div><a href="https://micropython.org/"><img src="/img/logos/external/micropython.png"><br>MicroPython</a></div></th>
<td>{{ d.software_micropython }}</td>
<th><div><a href="https://micropython.org/"><img src="/img/logos/external/micropython.png"><br>MicroPython</a></div></th>
<td>{{ d.software_support_micropython }}</td>
</tr><tr>
<th><div><a href="https://circuitpython.org/"><img src="/img/logos/external/circuitpython.png"><br>CircuitPython</a></div></th>
<td>{{ d.software_circuit_python }}</td>
<td>{{ d.software_support_circuit_python }}</td>
</tr><tr>
<th><div><a href="https://nuttx.org/"><img src="/img/logos/external/nuttx.png"><br>NuttX</a></div></th>
<td>{{ d.software_nuttx }}</td>
<td>{{ d.software_support_nuttx }}</td>
</tr>
<!-- ====================== -->
<tr class="header">
<th colspan="2"><h3>Emulation Support</h3></th>
</tr><tr>
<th><div><a href="https://qemu.org/"><img src="/img/logos/external/qemu.png"><br>QEMU</a></div></th>
<td>{{ d.emulation_qemu }}</td>
<td>{{ d.software_support_qemu_emulation }}</td>
</tr><tr>
<th><div><a href="https://renode.io/"><img src="/img/logos/external/renode.png"><br>Renode</a></div></th>
<td>{{ d.emulation_renode }}</td>
<td>{{ d.software_support_renode_emulation }}</td>
</tr><tr>
<th><div><a href="https://verilator.org/"><img src="/img/logos/external/verilator.png"><br>Verilator</a></div></th>
<td>{{ d.emulation_verilator }}</td>
<td>{{ d.software_support_verilator_emulation }}</td>
</tr>
<!-- ====================== -->
<tr class="header">
<th colspan="2"><h3>Security Key Support</h3></th>
</tr><tr>
<th>U2F</th>
<td>{{ d.software_u2f }}</td>
<td>{{ d.software_support_u2f }}</td>
</tr><tr>
<th>FIDO2</th>
<td>{{ d.software_fido2 }}</td>
<td>{{ d.software_support_fido2 }}</td>
</tr><tr>
<th>Secure Key Storage</th>
<td>{{ }}</td>
<td>?</td>
</tr><tr class="header">
<th colspan="2"><h4>Crypto</h4></th>
</tr><tr>

View file

@ -61,7 +61,7 @@ table.spec-table img {
<th>Name</th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.name }}{% if d.variant != "" %}({{ d.variant }}){% endif %}</td>
<td>{{ d.name }}{% if d.variant != "" %} ({{ d.variant }}){% endif %}</td>
{% endfor %}
</tr><tr>
<th>Manufacturer</th>
@ -80,9 +80,9 @@ table.spec-table img {
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
{% if d.status == "For sale" %}
<td><a href="{{ }}">Buy now!</a></td>
<td><a href="{{ d.links_buy }}">Buy now!</a></td>
{% elsif d.status == "Crowdfunding" %}
<td><a href="{{ }}">Back now!</a></td>
<td><a href="{{ d.links_buy }}">Back now!</a></td>
{% else %}
<td>&nbsp;</td>
{% endif %}
@ -157,15 +157,15 @@ table.spec-table img {
<th>Bare Metal C</th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.software_bare_metal_c }}
(<a href="https://gcc.gnu.org">GCC</a>: {{ d.software_gcc_status }}, <a href="https://llvm.org">LLVM</a>: {{ d.software_llvm_status }})
<td>{{ d.software_support_bare_metal_c }}
(<a href="https://gcc.gnu.org">GCC</a>: {{ d.software_support_gcc_status }}, <a href="https://llvm.org">LLVM</a>: {{ d.software_support_llvm_status }})
</td>
{% endfor %}
</tr><tr>
<th><a href="https://rust-embedded.github.io/book/">Embedded Rust</a></th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.software_bare_metal_rust }}</td>
<td>{{ d.software_support_bare_metal_rust }}</td>
{% endfor %}
</tr>
<!-- ====================== -->
@ -175,25 +175,25 @@ table.spec-table img {
<th><div><a href="https://www.zephyrproject.org/"><img src="/img/logos/external/zephyr.png"><br>Zephyr</a></div></th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.software_zephyr }}</td>
<td>{{ d.software_support_zephyr }}</td>
{% endfor %}
</tr><tr>
<th><div><a href="https://micropython.org/"><img src="/img/logos/external/micropython.png"><br>MicroPython</a></div></th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.software_micropython }}</td>
<td>{{ d.software_support_micropython }}</td>
{% endfor %}
</tr><tr>
<th><div><a href="https://circuitpython.org/"><img src="/img/logos/external/circuitpython.png"><br>CircuitPython</a></div></th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.software_circuit_python }}</td>
<td>{{ d.software_support_circuit_python }}</td>
{% endfor %}
</tr><tr>
<th><div><a href="https://nuttx.org/"><img src="/img/logos/external/nuttx.png"><br>NuttX</a></div></th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.software_nuttx }}</td>
<td>{{ d.software_support_nuttx }}</td>
{% endfor %}
</tr>
<!-- ====================== -->
@ -203,19 +203,19 @@ table.spec-table img {
<th><div><a href="https://qemu.org/"><img src="/img/logos/external/qemu.png"><br>QEMU</a></div></th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.emulation_qemu }}</td>
<td>{{ d.software_support_qemu_emulation }}</td>
{% endfor %}
</tr><tr>
<th><div><a href="https://renode.io/"><img src="/img/logos/external/renode.png"><br>Renode</a></div></th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.emulation_renode }}</td>
<td>{{ d.software_support_renode_emulation }}</td>
{% endfor %}
</tr><tr>
<th><div><a href="https://verilator.org/"><img src="/img/logos/external/verilator.png"><br>Verilator</a></div></th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.emulation_verilator }}</td>
<td>{{ d.software_support_verilator_emulation }}</td>
{% endfor %}
</tr>
<!-- ====================== -->
@ -225,19 +225,19 @@ table.spec-table img {
<th>U2F</th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.software_u2f }}</td>
<td>{{ d.software_support_u2f }}</td>
{% endfor %}
</tr><tr>
<th>FIDO2</th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.software_fido2 }}</td>
<td>{{ d.software_support_fido2 }}</td>
{% endfor %}
</tr><tr>
<th>Secure Key Storage</th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ }}</td>
<td>?</td>
{% endfor %}
</tr><tr class="header">
<th colspan="{{ colspan }}"><h4>Crypto</h4></th>
@ -261,19 +261,19 @@ table.spec-table img {
<th>Schematics</th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.links_schematics }}</td>
<td><a href="{{ d.links_schematics }}">Link</a></td>
{% endfor %}
</tr><tr>
<th>Bootloader Code</th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.links_bootloader }}</td>
<td><a href="{{ d.links_bootloader }}">Link</a></td>
{% endfor %}
</tr><tr>
<th>Quick Start Code</th>
{% for d_hash in devices %}
{% assign d = d_hash[1] %}
<td>{{ d.links_quickstart }}</td>
<td><a href="{{ d.links_quickstart }}">Link</a></td>
{% endfor %}
</tr>
</table>