Note: I'm dropping all automated replies with generic proposals - see question in the end.
We've got a small module of code that parses CAN messages using a microcontroller. The current system uses mBed OS and we're now moving to Linux. I'd like to have the knowledge embedded in C code to be usable in the new system, which is written in Python. Currently the software is compiled per car model and the correct .h is included with and #ifdef during the build.
Basic structure is that there's a common part that ingests CAN mesages (uint8_t processCanMessage(CANMessage msg)) and provides a few functions that return the data item's we're interested in (example uint8_t getCanWiper(void) returns if windshield wiper is currently active). The state is kept by the module in static variables - mostly no C++ features are used.
Each car model (17 models and thus .h files) is configured a .h file, which encodes which CAN message IDs are of interest (used for HW message filtering) and how the CAN messages are decoded to state variables.
The embedded code has almost no dependencies to other parts - it's just ingest-process-provide accessors to state.
The task is to:
Create single or multiple Python modules that:
-Use cut and paste, preferably even directly, the current embedded code
-For each car model, create a Python module that uses the code and provides the following functionality:
--function to list the CAN message IDs used (.h has a list of structs that have these as uint16_t)
-ingest function that takes CAN message and processes it
-accessor functions to state variables in C module
-Build script to build these all on ARM target (can be built on Raspbian or similar, no cross compiling needed.
There can be either 1 or 17 Python modules as a result. The less changes to existing C code the better.
I can send the source code with NDA. Included here is one example of the 17 configuration .h files.
As a sanity filter to block robots and your stuff - usually only one or two proposals are from people who actually know their stuff and I'm plonking all others. A few correct words are enough, no need for writing a novel!
How can you use C code in Python ?
I can start your project immediately. I can provide full-time communication and work your time-zone. If you give me a chance to serve you, I will provide a high quality product within the deadline. Best Regards