From 3a38223cea2ff89528f6c5458546b70e0a99f3bf Mon Sep 17 00:00:00 2001 From: jay_s_uk Date: Sun, 17 May 2020 20:40:40 +0100 Subject: [PATCH 1/4] Updated readme --- README.md | 47 +++++++++++++++++++---------------------------- 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 9b0a48db3..a7be0373c 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,31 @@ -Please Note -=========== -The information contained in this file is old and may be out of date, but is retained as it may contain useful information. For up to date details of the LPC RRF port V3 please see following links: -https://github.com/gloomyandy/RepRapFirmware/blob/v3.01-dev-lpc/WHATS_NEW_LPC.md -https://github.com/gloomyandy/RepRapFirmware/wiki +# LPC Port of RepRapFirmware +========================== +This is an experimental port of [dc42's RepRapFirmware](https://github.com/dc42/RepRapFirmware/)) for LPC1768/LPC1769 based boards. +# What is it? +It is a port of the [RepRapFirmware](https://github.com/dc42/RepRapFirmware) version 3 (RRF3) used on the Duet family of controllers. +The firmware can be used to control 3D printers, CNC machines, laser cutters and more. +There are a couple of features which sets it aside from Marlin, Smoothieware etc + - All settings for the firmware are configurable dynamically. No recompiling required + - Although it supports USB control through software such as Pronterface or Octoprint, the Duet Web Control (DWC) is the best way to control and configure the software + - Native network control through Wifi, Ethernet or an SBC +The boards which are currently supported are detailed in the wiki [here](https://github.com/gloomyandy/RepRapFirmware/wiki) -LPC Port of RepRapFirmware -========================== +### Main Differences to the Duet RRF +The main differences are detailed within the wiki [here](https://github.com/gloomyandy/RepRapFirmware/wiki/Differences) -This is an experimental port of [dc42's RepRapFirmware](https://github.com/dc42/RepRapFirmware/)) for LPC1768/LPC1769 based boards. +## Getting Started +Information to support using this firmware can be found on the [wiki](https://github.com/gloomyandy/RepRapFirmware/wiki/Getting-Started---RRF3) +The wiki also details different methods of connecting for different boards. -*Note: This firmware does not show up as a mass storage device when connected to a computer. Physical access to the internal sdcard may be required in order to revert back or update.* - -### Main Differences to [dc42's RepRapFirmware](https://github.com/dc42/RepRapFirmware) -The CPUs targeted in this port only have 64K RAM which is less than those that run dc42s RepRapFirmware. Further, there is also some differences between the CPUs, and the following outlines the main differences in this port: -* A maximum of 4 files can be open at a time. -* Reduced write buffers for SDCard to save memory. -* External interrupts (i.e., fan rpm etc) are limited to 3. -* Reduced number of networking buffers and reduced MTU to save memory. -* Only 2 HTTP Sockets and Responders. Only 1 HTTP session at a time. -* Disabled Ftp and Telnet interfaces -* Configuration: - * GCode [M350](https://duet3d.dozuki.com/Wiki/Gcode#Section_M350_Set_microstepping_mode) - Microstepping for boards included in this port is done via hardware and thus M350 is not required. You may include it in your config.g if you like, but the command has no effect on the operation of the firmware. - * Some drivers (such as the DRV8825) require specifying the timing information as they require longer pulse timings than the configured default that can result in missed steps. Timing information for stepper drivers can be added using [M569](https://duet3d.dozuki.com/Wiki/Gcode#Section_M569_Set_motor_driver_direction_enable_polarity_and_step_pulse_timing). Timing information can usually be found in the stepper driver data sheets. - * Auto-calibration restrictions to save memory: - * Maximum number of probe points of 121; and - * Delta maximum calibration points of 16 - * To support the number of different boards, a /sys/board.txt config file on the SDCard is used to configure the hardware pin assignments. Some example board config files [can be found here](https://github.com/sdavi/RepRapFirmware/tree/v2-dev-lpc/EdgeRelease/ExampleBoardConfig) - * M122 P200 command is used to print the mappings have been loaded by board.txt and displays all options supported by board.txt +## Support +For LPC specific questions (and general questions too), please get in touch over at the [RepRap Forum](https://reprap.org/forum/read.php?147,859857,page=1) +For generic RepRapFirmware questions, please use the [Duet Forum](forum.duet.com) **The LPC port is experimental and is likely to contain bugs - Use at your own risk** - - Licence ======= The source files in this project are licensed under GPLv3, see http://www.gnu.org/licenses/gpl-3.0.en.html. From 34516e771b5d62a3a60d1f760f999e247c2fc88e Mon Sep 17 00:00:00 2001 From: jay_s_uk Date: Sun, 17 May 2020 21:15:32 +0100 Subject: [PATCH 2/4] Added Azteeg X5 Mini V3 --- src/LPC/Boards/AzteegX5Mini.h | 66 +++++++++++++++++++++++++++++++++++ src/LPC/Pins_LPC.h | 3 +- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/src/LPC/Boards/AzteegX5Mini.h b/src/LPC/Boards/AzteegX5Mini.h index 58a176c89..997a43a48 100755 --- a/src/LPC/Boards/AzteegX5Mini.h +++ b/src/LPC/Boards/AzteegX5Mini.h @@ -72,4 +72,70 @@ constexpr BoardDefaults azteegX5Mini1_1Defaults = { 106.0, //digiPot Factor }; +//http://files.panucatt.com/datasheets/x5mini_wiring_v3.pdf +constexpr PinEntry PinTable_AzteegX5MiniV3[] = +{ + //LEDs + {P1_18, PinCapability::wpwm, "led1"}, + {P1_19, PinCapability::wpwm, "led2"}, + {P1_20, PinCapability::wpwm, "led3"}, + {P1_21, PinCapability::wpwm, "led4"}, + {P4_28, PinCapability::wpwm, "play"}, + + //Thermistors + {P0_23, PinCapability::ainrw, "bendtemp,th0"}, + {P0_24, PinCapability::ainrw, "eotemp,th1"}, + + //Endstops + {P1_24, PinCapability::read, "xstop"}, + {P1_26, PinCapability::read, "ystop"}, + {P1_28, PinCapability::read, "zstop"}, + {P1_29, PinCapability::read, "e0stop,estop"}, + + //Heaters and Fans + {P2_7, PinCapability::wpwm, "bed,hend" }, + {P2_5, PinCapability::wpwm, "e0heat,hbed" }, + {P1_25, PinCapability::wpwm, "fan0" }, + {P0_26, PinCapability::wpwm, "fan1" }, + + //EXP1 Pins + {P1_30, PinCapability::rwpwm, "P1.30"}, + {P1_22, PinCapability::rwpwm, "P1.22"}, + {P2_4, PinCapability::rwpwm, "P2.4"}, + {P0_25, PinCapability::rwpwm, "P0.25"}, + {P0_27, PinCapability::rwpwm, "sda,P0.27"}, + {P4_29, PinCapability::rwpwm, "P4.29"}, + {P0_28, PinCapability::rwpwm, "scl,P0.28"}, + {P2_8, PinCapability::rwpwm, "P2.8"}, + //3.3v + //GND + + //EXP2 Pins + {P1_31, PinCapability::rwpwm, "P1.31"}, + {P3_26, PinCapability::rwpwm, "P3.26"}, + {P2_11, PinCapability::rwpwm, "P2.11"}, + {P3_25, PinCapability::rwpwm, "P3.25"}, + {P1_23, PinCapability::rwpwm, "P1.23"}, + {P0_17, PinCapability::rwpwm, "P0.17"}, + {P0_16, PinCapability::rwpwm, "P0.16"}, + {P2_6, PinCapability::rwpwm, "P2.6"}, + {P0_15, PinCapability::rwpwm, "P0.15"}, + {P0_18, PinCapability::rwpwm, "P0.18"}, + //GND + //5V + + //Misc + {P4_12, PinCapability::rwpwm, "Halt","P4.12"}, +}; + +constexpr BoardDefaults azteegX5Mini3Defaults = { + {P0_10, P0_19, P0_21, P0_4, NoPin}, //enablePins + {P2_1, P2_2, P2_3, P2_0, NoPin}, //stepPins + {P0_11, P0_20, P0_22, P0_5, NoPin}, //dirPins +#if LPC_TMC_SOFT_UART + {NoPin, NoPin, NoPin, NoPin, NoPin}, //uartPins + 0, // Smart drivers +#endif + 113.5, //digiPot Factor +}; #endif \ No newline at end of file diff --git a/src/LPC/Pins_LPC.h b/src/LPC/Pins_LPC.h index 0e4502a93..a3a7ce2e0 100755 --- a/src/LPC/Pins_LPC.h +++ b/src/LPC/Pins_LPC.h @@ -394,7 +394,8 @@ constexpr BoardEntry LPC_Boards[] = {"biquskr_1.1", PinTable_BIQU_SKR_v1_1, ARRAY_SIZE(PinTable_BIQU_SKR_v1_1), biquskr_1_1_Defaults}, {"biquskr_1.3", PinTable_BIQU_SKR_v1_3, ARRAY_SIZE(PinTable_BIQU_SKR_v1_3), biquskr_1_3_Defaults}, {"biquskr_1.4", PinTable_BIQU_SKR_v1_4, ARRAY_SIZE(PinTable_BIQU_SKR_v1_4), biquskr_1_4_Defaults}, - {"azteegx5mini_1.1", PinTable_AzteegX5MiniV1_1, ARRAY_SIZE(PinTable_AzteegX5MiniV1_1), azteegX5Mini1_1Defaults}, + {"azteegx5mini_1.1", PinTable_AzteegX5MiniV1_1, ARRAY_SIZE(PinTable_AzteegX5MiniV1_1), azteegX5Mini1_1Defaults} + {"azteegx5mini_3", PinTable_AzteegX5MiniV3, ARRAY_SIZE(PinTable_AzteegX5MiniV3), azteegX5Mini3Defaults}, #endif }; From 06b2821c0663d0e2cca6c9a001a405f298c309b4 Mon Sep 17 00:00:00 2001 From: Jay S Date: Mon, 18 May 2020 07:18:50 +0100 Subject: [PATCH 3/4] Typo --- src/LPC/Boards/AzteegX5Mini.h | 4 +++- src/LPC/Pins_LPC.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/LPC/Boards/AzteegX5Mini.h b/src/LPC/Boards/AzteegX5Mini.h index 997a43a48..d804aba68 100755 --- a/src/LPC/Boards/AzteegX5Mini.h +++ b/src/LPC/Boards/AzteegX5Mini.h @@ -125,7 +125,9 @@ constexpr PinEntry PinTable_AzteegX5MiniV3[] = //5V //Misc - {P4_12, PinCapability::rwpwm, "Halt","P4.12"}, + //{P4_12, PinCapability::rwpwm, "Halt","P4.12"}, + + }; constexpr BoardDefaults azteegX5Mini3Defaults = { diff --git a/src/LPC/Pins_LPC.h b/src/LPC/Pins_LPC.h index a3a7ce2e0..9782c03ad 100755 --- a/src/LPC/Pins_LPC.h +++ b/src/LPC/Pins_LPC.h @@ -394,7 +394,7 @@ constexpr BoardEntry LPC_Boards[] = {"biquskr_1.1", PinTable_BIQU_SKR_v1_1, ARRAY_SIZE(PinTable_BIQU_SKR_v1_1), biquskr_1_1_Defaults}, {"biquskr_1.3", PinTable_BIQU_SKR_v1_3, ARRAY_SIZE(PinTable_BIQU_SKR_v1_3), biquskr_1_3_Defaults}, {"biquskr_1.4", PinTable_BIQU_SKR_v1_4, ARRAY_SIZE(PinTable_BIQU_SKR_v1_4), biquskr_1_4_Defaults}, - {"azteegx5mini_1.1", PinTable_AzteegX5MiniV1_1, ARRAY_SIZE(PinTable_AzteegX5MiniV1_1), azteegX5Mini1_1Defaults} + {"azteegx5mini_1.1", PinTable_AzteegX5MiniV1_1, ARRAY_SIZE(PinTable_AzteegX5MiniV1_1), azteegX5Mini1_1Defaults}, {"azteegx5mini_3", PinTable_AzteegX5MiniV3, ARRAY_SIZE(PinTable_AzteegX5MiniV3), azteegX5Mini3Defaults}, #endif }; From 1ecfe0f3b994fb1eb3e253b094f1759c42b8e8e2 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 20 May 2020 06:27:36 +0100 Subject: [PATCH 4/4] Readme update --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a7be0373c..97273f48f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# LPC Port of RepRapFirmware +# LPC Port of RepRapFirmware v3 ========================== -This is an experimental port of [dc42's RepRapFirmware](https://github.com/dc42/RepRapFirmware/)) for LPC1768/LPC1769 based boards. +This is an experimental port of [RepRapFirmware](https://github.com/Duet3D/RepRapFirmware) for LPC1768/LPC1769 based boards. # What is it? -It is a port of the [RepRapFirmware](https://github.com/dc42/RepRapFirmware) version 3 (RRF3) used on the Duet family of controllers. +It is a port of the [RepRapFirmware](https://github.com/Duet3D/RepRapFirmware) version 3 (RRF3) used on the Duet family of controllers. The firmware can be used to control 3D printers, CNC machines, laser cutters and more. There are a couple of features which sets it aside from Marlin, Smoothieware etc - All settings for the firmware are configurable dynamically. No recompiling required @@ -22,6 +22,7 @@ The wiki also details different methods of connecting for different boards. ## Support For LPC specific questions (and general questions too), please get in touch over at the [RepRap Forum](https://reprap.org/forum/read.php?147,859857,page=1) +There is also a [Discord Channel](https://discord.gg/uS97Qs7) where LPC support can also be found. For generic RepRapFirmware questions, please use the [Duet Forum](forum.duet.com) **The LPC port is experimental and is likely to contain bugs - Use at your own risk**