project: PILE1

2023-09-01 - ongoing
a picture of PILE1 with terrible whitebalance

PILE1 is an impetuOS devboard based on a TI EK-TM4C129EXL devboard, it is a mezzanine structure and will support ethernet.

the base devboard was chosen as it exposes a generous amount of IO, has ethernet fitted and its MCU has a huge amount of SRAM.

it will probably be the machine that fragmented IP packets are developed on

PILE1 is constructed using polycarbonate and matrix PCB held together with standoffs

blog

date: 2024-04-02 23:38:25 other projects: impetuOS SLAB1
work is being done to enable an i2c environment sensor(SCC30-DB) on PILE1

electronically it all seems reasonable but there have been some issues with the existing i2c and sensor drivers as used in SLAB1, these are:

the I2C mcs register does not always assert the busy flag fast enough to not miss when waited on, leading to missed errors

the environment sensor was either never polled particularly fast on SLAB1 or read errors were ignored; this led to a hang in reads on the PILE1 test code

a sequence of failed I2C repeated start were observed, this is either because of a (potentially long standing) driver issue or a misunderstanding. old pull requests and issues relating to the tivaC_I2C driver did not make any mention of repeated start not working; in fact there was an issue with a lack of stop conditions leading to everything being a repeated start, this makes it more likely that this is a bad oobservation where there was some other behaviour involved...

the environment sensor output revealed a humidity of around 70% which matched the humidity on the day((taken from the met office) this test was performed many times on different days and was always within reasonable bounds of error


date: 2023-10-21 08:12:41
ethernet has been a success. while there is currently no error checking, this will be left for the future (in true impetuOS fashion). running et from the TCPIP branch gives a DHCP lease, allows UDP echo, shows in router "attached devices" menu, and responds to ping

date: 2023-10-21 05:43:16
there has been some minor success in implementing an ethernet driver for impetuOS to allow PILE1 to be used for ip fragmentation development.

the ethernet driver so far initialises using the internel PHY and can read and write packets; these are not error checked.

multicast and broadcast RX currently read the correct packet lengths and the data looks ok. unicast RX is untested.

TX writes the correct data which has been verified in wireshark


date: 2023-09-24 21:32:47
clock is now configured to 120MHZ, the fastest impetuOS machine so far
a QSSI driver has been written that implements legacy SPI
two SD cards have been connected and function correctly
as with SLAB1, environment is imported from /mnt/SD0p0/env unless SW1 is held during boot