Write-up is over at:
Current status: All phases complete..
This is another port of Ada to a non-F series part. This one is an STM32L476 which is present on the small ST SensorTile. A SensorTile contains the following pieces:
This is a CortexM4F running at 80Mhz with 1MB of flash and 128k of SRAM.
- LSM6DSM - SPI 3 wire
Accelerometer + Gyro
- LSM303AGR - SPI 3 wire
Accelerometer + Magnetometer
- LPS22HB - SPI 3 wire
- MP34DT05-A via DFSDM
Gas gauge/colomb counter - I2C (off tile, on the carrier board)
Humidity&Temperature - I2C (off tile, on the carrier board)
- BlueNRG-MS, - SPI 4 wire + INT
To port Ada to the SensorTile is relatively straightforwards up till the BlueNRG-MS SoC. At that point, there is a lot of C API code on the ST side that needs porting. This project then will have 3 phases:
- Phase 1: A pure Ada port to the SensorTIle
- Phase 2: Link the Ada programmed SensorTile to the Android ST sensor app or at least a RPi BLE stack.
- Phase 3: An interesting demo...
- Phase 4 (a stretch goal): A new part the STM32WB is to be available soon (ST says Oct). It is a single chip CM4F + BlueTooth SoC in one package. Ideally, phase 2 could be ported here w/o sensor support. Heard from ST on 10/17 that dev kits for STM32WB won't be available to Q1 next year. Looks like Phase4 might not be doable wrt schedule for project submission. Also, its not a straight port, they use interprocess communication to talk from the CM4F to the CM0 that runs the BT stack. Currently BlueNRG-MS is an SPI peripheral so the physical layer to the BT stack would need an overhaul, how much of an overhaul depends on how close the CM0 is to the BlueNRG-MS from an API standpoint.