-
Notifications
You must be signed in to change notification settings - Fork 1k
Add RemRam v1 board variant #287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
RemRam is an open-source 3D printing controller. It's source files can be found at [1]. [1] https://github.com/hasenbanck/remram
Thanks @hasenbanck . |
Don't merge yet. I might need to change timer configuration / IWDG. Will report back when I'm 100% sure. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First review.
It seems your a not on top of the master. You should rebase on master.
variants/REMRAM_V1/variant.h
Outdated
PC3, // D68 - FAN_SPEED2 | ||
|
||
// Duplicated pins in order to be aligned with PinMap_ADC | ||
PC0_2, //D69/A0 - THERM_1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't need to duplicate the pins as they are grouped
variants/REMRAM_V1/variant.cpp
Outdated
PA_4, // D67 - FAN_SPEED1 | ||
PC_3, // D68 - FAN_SPEED2 | ||
|
||
// Duplicated pins in order to be aligned with PinMap_ADC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't need to duplicate the pins as they are grouped
/* #define HAL_SPDIFRX_MODULE_ENABLED */ | ||
#define HAL_SPI_MODULE_ENABLED | ||
#define HAL_TIM_MODULE_ENABLED | ||
#define HAL_UART_MODULE_ENABLED |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could comment it, it is defined by default by platform.txt. Define it raised a warning about redefinition
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commenting UART out would break building in Eclipse / Sloeber. I guess it would be better to life with a warning.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After fixing the Serial stuff in the board.txt the build works without defining the UART here. I will comment it out then.
variants/REMRAM_V1/variant.h
Outdated
// PIN definition | ||
#define NUM_DIGITAL_PINS 74 | ||
#define NUM_ANALOG_INPUTS 5 | ||
#define NUM_ANALOG_FIRST 69 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So first is 64 or PC0
variants/REMRAM_V1/variant.h
Outdated
#define PWM_MAX_DUTY_CYCLE 255 | ||
|
||
// On-board LED pin number | ||
#define LED_YELLOW 21 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Preferred use the pin name PD0
boards.txt
Outdated
@@ -725,3 +772,31 @@ Maple.menu.opt.o3lto.build.flags.ldspecs=-flto | |||
Maple.menu.opt.ogstd=Debug (-g) | |||
Maple.menu.opt.ogstd.build.flags.optimize=-g -Og | |||
Maple.menu.opt.ogstd.build.flags.ldspecs= | |||
|
|||
RemRam.menu.opt.osstd=Smallest (-Os default) | |||
RemRam.menu.opt.osstd.build.flags.optimize=-Os |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove those 2 lines, they are useless as this is the default in platform.txt
RemRam.menu.opt.osstd.build.flags.optimize=-Os
RemRam.menu.opt.osstd.build.flags.ldspecs=
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're sure about that? Using Eclipse / Sloeber won't show me the "-Os" Option without LTO if I remove those two lines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah okay, I got confused with the line numbering. Now I understand.
boards.txt
Outdated
@@ -532,6 +571,14 @@ Maple.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE | |||
Maple.menu.xserial.disabled=Disabled (No Serial) | |||
Maple.menu.xserial.disabled.build.xSerial= | |||
|
|||
RemRam.menu.xserial.generic=Generic Serial |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems your a not on the latest core.
You should rebase those menu has been review on 1.3.0.
What about IWDG? I'm currently review the IWDG library #234 |
I'm pretty sure that this PR is rebased to current master. I tripple checked the parent of my last commit. Odd. Will fix the issues you marked. I will push aside the IWDG until you merged #234 and I have more time to test. |
* Removed not needed pin mapping * Use new serial menu items * Removed unneeded UART declaration * Removed unneeded optimization * Use PIN name instead of PIN number
variants/REMRAM_V1/variant.h
Outdated
PC15, // D54 - BTN_EN1 | ||
PC14, // D55 - BTN_EN2 | ||
PC14, // D54 - BTN_EN1 | ||
PC15, // D55 - BTN_EN2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sic!
Right you are on top. I've asked this as I saw the old Serial Menu. |
Thank you very much. |
It seems that somehow the old generated file lacked the heap definition. I re-created the script with the newest version of Cube MX and the newest F7 driver package.
FYI, I've reviewed IWDG, based on the PR, I will push an updated version generic for all STM32 series. |
Good to know. I'm currently reviewing the whole design, since I'm chasing a weird data corruption bug when I'm reading SD over SPI. That's why I saw the missing heap definition. |
Ok let me know when you will confident to this variant as I can't test it due to lack of board to test. |
I'm pretty sure now that this variant doesn't need a hardware rework anymore. It's ready for merge. |
Hi @hasenbanck, |
@fpistm I hope to be able to get my controller board fully operational in my printer this weekend. Hopefully I can give you feedback about the IWDG in action then. |
The two external PWM pins for the servos got mixed up. This commits restores the correct order.
While testing the bugged Marlin code for servo handling, I realized that I also mixed up two pin assignments in the variant definition. The last commit fixes this issue. |
Hi @hasenbanck |
It's not needed for my primary build target, the Marlin firmware. Marlin doesn't use any RTC functionality. |
Did you see any drawback if I enable it per default? |
Yeah, there shouldn't be any drawbacks in enabling it by default. You can do that if you want to stay consistent with the other boards. |
Add RemRam v1 board variant RemRam is an open-source 3D printing controller. It's source files can be found at [1]. [1] https://github.com/hasenbanck/remram Signed-off-by: Nils Hasenbanck <[email protected]>
Add RemRam v1 board variant RemRam is an open-source 3D printing controller. It's source files can be found at [1]. [1] https://github.com/hasenbanck/remram Signed-off-by: Nils Hasenbanck <[email protected]>
RemRam is an open-source 3D printing controller.
https://github.com/hasenbanck/remram