portapack-mayhem / mayhem-firmware

Custom firmware for the HackRF+PortaPack H1/H2/H4
https://hackrf.app
GNU General Public License v3.0
3.53k stars 568 forks source link

I2cshell #2348

Closed htotoo closed 2 weeks ago

htotoo commented 2 weeks ago

This provides a shell over i2c.

The PPMOD driver now polls each second it the module has anything to send to pp, and i'll download all if it has. The sensors polling is maintained by an internal "timer", each 10th second.

Fixed the ExtModule app where the module's app counter wasn't displayed correctly.

The shell is not created, until the first compatible module (that provides FEAT_SHELL) is connected. Uses the same shell commands as the USB part. I2C shell buffer is 64byte instead of 128.

Each time it needs to send the whole 64 byte + 1 leading byte, that indicates hasmore in the upper bit, and the length IN THAT PACKET in the remaining 7 bits. (is the packet is not full, we indicate this with the size).

The stream from PP to esp is simpler, since it needs to send the data with the stream. The stream buffer is 64 byte, and oNofityI2cFromShell will get max 64 byte data. The command will get max 64 bytes. If it get less, the ESP part will get less to. Since there is a vector, it's size wont be sent. (can get from vector size).

ESP part is coming soon. (the esp32pp project has an ugly variant online to test out, but no release with this yet)

gullradriel commented 2 weeks ago

Ar we waiting for ESP counterpart to be ready, or should we merge already ?

bernd-herzog commented 2 weeks ago

🚀