Replies: 17 comments
-
I saw some time ago discussion on code formatting. |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
-
Implementing some SD support soon! |
Beta Was this translation helpful? Give feedback.
-
Once I added a block device interface (and implementations for SPI flash, heap storage and mirroring (like RAID1) to modm: https://docs.modm.io/develop/api/stm32g474vet7/classmodm_1_1BlockDevice.html Then file systems like FAT (or ext3) could be implemented via this interface and used for all storage. Unfortunately this interface has not been used for the recently added Eeprom driver in #321. |
Beta Was this translation helpful? Give feedback.
-
I wasn't aware of the BlockDevice, so I did the CAT24AAxx driver by simply modifying the existing EEPROM driver. I'll look into it and change it. |
Beta Was this translation helpful? Give feedback.
-
Talking about upcoming implementations, I'm interested in DMA and UI. I've been looking in lvgl but wasn't able to get it up and running. Their memory management didn't work on my L431. And also it adds a lot of code, my test of having a simple button added >30k (with -Og setting). I'd rather use something else. The current UI in modm has small footprint and would work perfectly to my needs. |
Beta Was this translation helpful? Give feedback.
-
You know there currently exists a very basic and hardly used DMA API? @chris-durand and me started to work on DMA two years ago. On my DMA can be used for many different use cases. What is your use case? |
Beta Was this translation helpful? Give feedback.
-
Yes please. I've added a bunch of DMA data already to the device files for this purpose! |
Beta Was this translation helpful? Give feedback.
-
For DMA: see #358 |
Beta Was this translation helpful? Give feedback.
-
Better sanity checks. After some quick testing i encountered type mismatches across units. Too many warnings is disabled after my taste, which can lead to undefined behaviour. Tools as clang-tidy and cppcheck can be used on the generated code. Example of code smells: platform/fault/fault_storage.cpp:36:17: note: type 'const uint32_t' should match type 'const uint8_t' platform/core/heap_table.cpp:22:27: warning: type 'struct table_pool_t' violates the C++ One Definition Rule [-Wodr] platform/fault/fault_storage.cpp:18:17: note: a field of same name but different type is defined in another translation unit |
Beta Was this translation helpful? Give feedback.
-
I completely agree! This only works if it is automated in the CI though. Would you be interested in setting this up (or adding more warnings)? |
Beta Was this translation helpful? Give feedback.
-
Any plans on adding HAL_Ex function of STM32? For example, the HAL_UARTEx_ReceiveToIdle_DMA is quite useful when making a simple packet based serial communication. I usually implement a simple COBS encoded packet with CRC and send it away. When receiving I can just detect packet error when there is no 0x00 delimiter on the rx queue, then make sure the data is not corrupted by checking the CRC. |
Beta Was this translation helpful? Give feedback.
-
Some rough ideas about what needs to be done without having to open an individual issue for each one of them. Please feel free to comment or add more features.
Library
xpcc-communication
repository.modm:fatfs
upainter
graphics algorithmssetAlternateFunction()
)std::format
in C++20)modm:ide:vscode
module to add thorough support for Cortex-M devices@ingroup
fits the module name that generated the file via lbuild buildlogBuild
Beta Was this translation helpful? Give feedback.
All reactions