.. leading zeros are required for `frontmatter` to treat them as dates
rather than strings, apparently per the YAML specification.
This was done by script:
```py
import re
import datetime
import pathlib
import sys
import frontmatter
rx = re.compile(r'^(\s*)date_added:.*$', re.M)
for path_str in sys.argv[1:]:
print(path_str)
path = pathlib.Path(path_str)
post = frontmatter.load(path)
date_added = post.get("date_added", "")
if isinstance(date_added, datetime.date):
continue
if isinstance(date_added, str):
try:
date_added = datetime.datetime.strptime(date_added, "%Y-%m-%d")
except ValueError as exc:
print(f"Failed to parse date {date_added} in {path_str}: {exc}")
continue
date_added = date_added.date()
content = path.read_text("utf-8")
new_content = rx.sub(lambda m: f"{m.group(1)}date_added: {date_added}", content)
assert content != new_content
path.write_text(new_content, "utf-8")
```
1.6 KiB
| layout | board_id | title | name | manufacturer | board_url | board_image | date_added | family | features | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| download | silicognition_rp2040_shim | RP2040-Shim Download | RP2040-Shim | Silicognition LLC |
|
silicognition-rp2040-shim.jpg | 2022-07-01 | raspberrypi |
|
This board is an alternative to the Silicognition M4-Shim, and just like that board it is specifically made to fit on top of the PoE-FeatherWing, filling the empty space around the RJ45 and flyback transformer and allowing the creation of extremely compact Power over Ethernet systems.
Since the ATSAMD51J19 used on the M4-Shim is pretty much unobtainium right now, I needed to provide an alternative, and with good availability and popularity of the RP2040 this chip seemed like a natural choice. You get dual ARM Cortex-M0+ @ 133 MHz, 264 kB on-chip SRAM, PIO and 4 MB of QSPI flash!
The RP2040 comes with built-in UF2 bootloader, and the board has CircuitPython with Wiznet W5500 drivers pre-installed, plus a poe_featherwing.py module that sets the Ethernet connection up for you.
A special feature of this board is a custom chip to enable the familiar single-press to reset, double-press for bootloader button! So from a user experience point of view, it behaves the same as the M4-Shim.