- Unused function warnings
Move function definitions in include/blisp_util.h to lib/blisp_util.c.
Defining them as static leads to internal linkage, accessible in that
translation unit, hence the warning. Their references are to be handled
in other translation units, so they shouldn't be static.
- Unused function parameters
Use C attribute `[[maybe_unused]]` (introduced in C23) to suppress
unused parameter warnings.
- `blisp_chip_xxxxx_get_eflash_loader` implementations accept clock type
but don't use it.
- `drain` function only has a body under macOS and FreeBSD with
preprocessor predicates.
- Enable compiler warnings
Now that warnings are address enable them `-Wall -Wextra -Wpedantic` for
the library and the tool targets.
N.B. An equivalent of MSVC should be added to CMakeLists.txt, as these
would only work when using GCC or Clang.
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.