Replies: 3 comments 4 replies
-
What we discovered so far, there are some AVR architecture specific things that need more digging:
|
Beta Was this translation helpful? Give feedback.
-
Hello all, if the platform developer did a good job there should be only less topics which require adaptions. Normally even interrupts and eeprom library should work without any modifications. This is the advantage of the Arduino framework. E.g. if an eeprom is not available, the library for this platform uses the internal flash by using the same functions. I "tried"it for a Teensy3.5 board, only some board specifications had to be adapted:
I used the teensy3.5 due to its native USB support. So I was able to add joystick device. Four analog inputs (which can not be used as binary inputs) are shown up as x/y/SliderL/SliderR axis within Windows and can be used as any other joystick (could be extended to joystick buttons). Even for other boards there is a high chance that the firmware will run only with a new board definition. I didn't checked it for the Wemos boards, but I can give it a try as I have restructed the source to put all board specific data in seperate files (beside some other adaptions (button with repeat function) which also reduces the required RAM). Regards Ralf /edit: eeprom read/write seems to be indeed a little bit differnet for the esp8266 compared to the standard lib |
Beta Was this translation helpful? Give feedback.
-
Yeah, I looked like the eeprom implementation was quite different for the esp8266, different functions etc. I am not super knowledgeable of that stuff, but I agree, the arduino framework seems like a good common denominator here that might make it easier to support other devices. Splitting the board definitions to different files is a good idea in my opinion - its a bit what comes to mind from drones and flight controller software called BetaFlight that has something similar, like this board as an example - they define IO pin mapping and supported features in boardname.h and some other files. I think it would be good to have easier support for more devices, but there is an additional challenge to maintain builds of all the firmware versions (and flashing procedures that might be required, currently mobiflight knows to use avrdude to flash to atmel microcontrollers, other boards likely have their own methods, so that should also be handled somehow. There is a balance between utility and maintaining the extra "infrastructure". |
Beta Was this translation helpful? Give feedback.
-
Looking at the Wemos D1 for example, and pretty much other arduino-compatible boards, that might work, it would be nice to have some kind of board definition file that you could write to add support for a board.
The Wemos D1 mini is very affordable, has 1 or 4MB of flash, and kind of similar to the Pro Micro in terms of IO and use cases.
Beta Was this translation helpful? Give feedback.
All reactions