* DFU file work
Just grabbing first one for now
Expose crc
Update CMakeLists.txt
Test DFU file
Split crc function
Fixup
Zero init struct
Dont null the pointer 🤦
correct fread
Adding tests
Create dfu_file.h
Format
Scratching out more parsing
Basic port parser
Scratching fread wrapper
* Relocate dfu parsing and link in
* Scratching out parsers
* Generic bin parser
* Pull out get file util
Update CMakeLists.txt
* Pull in the generic parser
Fixup
.
* Print flash address
* Rebase address
* stdlib
Update dfu_file.c
* FIXUP! flash offset
* Update dfu_file.c
* Improve logging
* Drop extra erase
* Adjust DFU to avoid goto
* Pragma -> ifndef
* Include Windows headers for missing data types
---------
Co-authored-by: Marek Kraus <gamelaster@outlook.com>
Add sp_drain() where needed. Without it FreeBSD won't pass the handshake
phase.
Also decreate max buffer size.
Tested with Pinecil v2 and it can write and check new firmware.
For some reason, macOS have issues with USB CDC,
surprisingly, CH340G convertor works just fine.
But FTDI and Bouffalo's USB CDC didn't worked.
Basically, without writing anything, we don't receive
response from board. This was fixed by adding drain
after writing BOUFALLOLABRESET handshake + adding
drains after every commmand write. Also, for some reason,
in USB CDC, the size of USB payload is limited, else
it will fail.
This helped with handshake on CH340, but FT232H don't like it.
Currently, it is not needed, as current code can work properly
both on CH340G but also on FT232H.