Hello @dc42 , hello community,
following PR process I am starting discussion about how to add a new board in the nice RepRap firmware
I am helping @royco to get support on his Kinetica G2C board
The board is based on Duet2 Maestro/Duet2 Wifi
4 drivers TMC2209
1 Heatbed/1 Hotend
2 Fan mosfets
3 thermistor inputs
Supports PanelDue/128x64 graphic LCD display
Supports WiFi (esp8266) or Ethernet modules, the serial to flash esp8266 is shared with panel serial and done using jumpers.
Creality main board profile
I worked on support based on 2.5rc1 but I can update as it was before Xmas ^_^,
I did not check the 3.0beta12 as we focused on existing base first
What I modified :
CoreNG with SAM4S_PDBOARD
https://github.com/Panucatt/CoreNG/tree/kinetica
commit
https://github.com/Panucatt/CoreNG/commit/6396890fb960796213d1aab88a3edab80da4b6b7
The variant is SAM4S8C and the flag is PDBOARD because of some modifications for the ESP8266 board and also UDD_ENABLE, UDD_NO_SLEEP_MGR like Maestro
Reprap
https://github.com/Panucatt/RepRapFirmware/tree/kinetica
commit : https://github.com/Panucatt/RepRapFirmware/commit/4a410aa42ff8f777391d4258d9f61b68deb5cf51
Board use KINETICA_G2 as flag and of course SAM4S8C ,RTOS, PDBOARD
I have added define for Kinetica in reprap code and also excluded kinetica directory from all others boards.
I am still wondering if adding the PDBOARD is necessary in DUETIAP, so it is not done yet
I should say I am not super good about the eclipse configuration part: .cproject, it seems different according eclipse version, when it looks ok in eclipse UI, it seems little bit messy in editing .cproject file, especially for reprap part.
About code addition:
Because serial is shared between ESP8266 and Panel when updating ESP firmware, I have added a function to disable/enable the GCODE input on the serial in WiFiInterface.cpp when doing update, reprap.GetGCodes().SetInputActive(6,false); and reprap.GetGCodes().SetInputActive(6,true);, may be the enabling is not necessary because screen need a restart but for safety I did it.
I fixed some warnings due new pinout
Feel free to ask me or to @royco if you have any question ^_^
Please let us know your comments and advices, so we could move forward to push a PR in github.
Thank you