Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 02, 2020 09:24AM |
Registered: 5 years ago Posts: 213 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 02, 2020 09:30AM |
Registered: 8 years ago Posts: 14 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 02, 2020 05:45PM |
Registered: 4 years ago Posts: 1 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 03, 2020 02:13AM |
Registered: 11 years ago Posts: 14,685 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 03, 2020 02:19AM |
Registered: 13 years ago Posts: 224 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 03, 2020 10:34AM |
Registered: 4 years ago Posts: 5 |
Quote
; Endstops
M574 X2 S1 P"xstopmax" ; configure active-high endstop for high end on X via pin xstopmax
M574 Y2 S1 P"ystopmax" ; configure active-high endstop for high end on Y via pin ystopmax
M574 Z2 S1 P"zstopmax" ; configure active-high endstop for high end on Z via pin zstopmax
;M574 Z1 S2 ; configure z probe for low end on z via pin zstop
; Z-Probe
M558 P5 I1 C"zstop" H10 F400 T2000 R0.20 ; Piezo Precision Orion v2.0 Z probe with 10mm dive height
M557 R115 S20 ; define mesh grid
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 03, 2020 10:37AM |
Registered: 13 years ago Posts: 224 |
Invert the input by prefixing the input pin (C parameter) with ! character, when using an NPN output inductive or capacitive sensor or using an NO switch (not recommended, use a NC switch instead).
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 03, 2020 02:18PM |
Registered: 4 years ago Posts: 5 |
Quote
jay_s
The "I" command is no longer supported in RRF3
This is an extract from the duet wiki for M558 [duet3d.dozuki.com]
Invert the input by prefixing the input pin (C parameter) with ! character, when using an NPN output inductive or capacitive sensor or using an NO switch (not recommended, use a NC switch instead).
Quote
G31 Z0.2 ; set z probe 0.2mm height offset
M558 P5 C"!zstop" H10 F400 T2000 R0.20 ; Piezo Precision Orion v2.0 Z probe with 10mm dive height
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 15, 2020 07:09AM |
Registered: 4 years ago Posts: 1 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 15, 2020 07:17AM |
Registered: 13 years ago Posts: 224 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 12:57AM |
Registered: 8 years ago Posts: 39 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 03:08AM |
Registered: 11 years ago Posts: 341 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 03:16AM |
Registered: 13 years ago Posts: 224 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 04:08AM |
Registered: 5 years ago Posts: 213 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 05:06AM |
Registered: 11 years ago Posts: 341 |
Quote
gloomyandy
Hi SDavi,
that looks like some interesting improvements. I've also made some updates in similar areas and you may want to take a look at my changes, they are on a separate branch to the main 3.1.1 version of my repo. I'll be pushing some more changes later today (mainly USB updates), so watch this space!
[github.com]
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 05:27AM |
Registered: 5 years ago Posts: 213 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 07:29AM |
Registered: 11 years ago Posts: 341 |
Quote
gloomyandy
@SDavi My USB changes are fairly minor, more cleaning things up and a slightly more efficient way of using the buffers. I did consider switching to using DMA, but I wasn't convinced that how I would do it would really save that much time and would need more memory (for DMA buffers) or delay things more. I came to a similar conclusion on the UART side of things, but it seems like you may have found a better way to do that, so I'd love to see what you have come up with.
On the ADC changes one problem I see from time to time with my printer is that after a reboot some of the temperature readings are completely wrong (probably some sort of full scale reading), but it only happens very infrequently and a reboot of the board seems to fix it. I've never been able to pin down what is going on. Have you ever seen this?
Did you see the changes I added to the USB interrupt handling, that allows different interrupt levels for the different devices sharing the DMA controller? It is a bit of a hack but it makes some things so much easier. I really need to be able to run the software UART code at a high priority interrupt but pretty much everything else is happy running as a lower level.
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 08:05AM |
Registered: 5 years ago Posts: 213 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 08:30AM |
Registered: 11 years ago Posts: 341 |
Quote
gloomyandy
@SDavi, one problem that I've seen a couple of times with the LPC and USBCDC is that of sending zero length packets. The CDC spec requires that if you send data that ends with a full packet then you must send an additional zero length packet to terminate the transmission. If you don't do that then some systems (Windows for sure) will not pass on the data until either you send another partial packet or you close the connection. It looks like things have hung, but it is just waiting for the extra packet. For some reason a a lot of the LPC CDC implementations do not handle this case. I suspect it is because more often than not they never send full packets and so do not hit the issue. Probably not your problem, but worth mentioning just in case...
It could well be that I only see the ADC issue after flashing the firmware. I tend to update things a lot to test changes etc. and it may easily be only after a flash that I see the problem. I'll keep an eye on things to see if I ever see it after a normal boot.
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 08:53AM |
Registered: 5 years ago Posts: 213 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 12:57PM |
Registered: 7 years ago Posts: 10 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 18, 2020 01:46PM |
Registered: 5 years ago Posts: 213 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 19, 2020 05:15AM |
Registered: 7 years ago Posts: 1,007 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 19, 2020 01:38PM |
Registered: 8 years ago Posts: 10 |
I am working two days (in short periods) trying to set it up into a skr 1.3 with 4 tmc2209 and one lv8729 for the extruder, so i am rebooting many times and I have the same problem.Quote
gloomyandy
On the ADC changes one problem I see from time to time with my printer is that after a reboot some of the temperature readings are completely wrong (probably some sort of full scale reading), but it only happens very infrequently and a reboot of the board seems to fix it. I've never been able to pin down what is going on. Have you ever seen this?
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 19, 2020 01:48PM |
Registered: 13 years ago Posts: 224 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 19, 2020 01:50PM |
Registered: 8 years ago Posts: 10 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 19, 2020 02:57PM |
Registered: 5 years ago Posts: 213 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 19, 2020 03:02PM |
Registered: 8 years ago Posts: 10 |
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 19, 2020 04:08PM |
Registered: 4 years ago Posts: 3 |
Last software reset at 2020-06-18 22:10, reason: Watchdog timeout, spinning module GCodes, available RAM 212 bytes (slot 0) Software reset code 0x08a3 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0442d010 BFAR 0xe000ed38 SP 0x10007fa4 Task MAIN Stack: 00005ed7 00009dd8 0100502d 2007d9b8 2007c1dc 2007d9af fffffffd 10007fe0 e000e014 e000e010 10000010
=== Diagnostics === RepRapFirmware for LPC176x based Boards (biquskr_1.4) version 3.1.1 running on LPC176x at 120Mhz Used output buffers: 1 of 16 (10 max) === RTOS === Static ram: 3876 Dynamic Memory (RTOS Heap 5): 2824 free, 2800 never used Exception stack ram used: 304 Never used ram: 380 Tasks: NETWORK(ready,632) HEAT(blocked,1360) MAIN(running,1460) IDLE(ready,80) Owned mutexes: === Platform === Last reset 00:00:38 ago, cause: [software] LPC Flash Slot[76]: Last software reset at 2020-06-18 22:10, reason: Watchdog timeout, spinning module GCodes, available RAM 212 bytes (slot 0) Software reset code 0x08a3 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0442d010 BFAR 0xe000ed38 SP 0x10007fa4 Task MAIN Stack: 00005ed7 00009dd8 0100502d 2007d9b8 2007c1dc 2007d9af fffffffd 10007fe0 e000e014 e000e010 10000010 Error status: 0 Driver 0: standstill, read errors 0, write errors 1, ifcount 15, reads 650, timeouts 0 Driver 1: standstill, read errors 0, write errors 1, ifcount 15, reads 649, timeouts 0 Driver 2: standstill, read errors 0, write errors 1, ifcount 15, reads 649, timeouts 0 Driver 3: standstill, read errors 0, write errors 1, ifcount 15, reads 649, timeouts 0 Date/time: 2020-06-18 22:11:18 Slowest loop: 4.45ms; fastest: 0.27ms === Storage === Free file entries: 3 SD card 0 detected SD card longest read time 1.6ms, write time 0.0ms, max retries 0 === Move === Hiccups: 0, FreeDm: 100, MinFreeDm: 100, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === Heat === Bed heaters = 0, chamberHeaters = -1 === GCodes === Segments left: 0 Movement lock held by null HTTP is ready with "M122" in state(s) 0 0, running macro File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 8.07ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP sessions: 1 of 2 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.23-01L-D WiFi MAC address cc:ce:1e:e7:55:75 WiFi Vcc 64.00, reset reason Unknown WiFi flash size 4194304, free heap 33912 WiFi IP address 10.0.0.41 WiFi signal strength -36dBm, reconnections 0, sleep mode modem Socket states: 0 0
// Board Hardware configuration file for SKR v1.4 // generated by RepRapFirmware Configuration Tool (LPC Version) v2 // on Mon Jun 15 2020 18:47:53 GMT+0200 (Central European Summer Time) //Note: Each line should be less than 120 characters. // : Unwanted options can be commented out or set to NoPin. Lines commented out will get default values // : for pins the default is NoPin. // : Values for Arrays need to be contained within { and } // : Comments can be defined with // or # (comments are not supported inside arrays) // : Each config entry must be all on a single line. lpc.board = biquskr_1.4; //wifi pins 8266wifi.espDataReadyPin = 0.28 8266wifi.lpcTfrReadyPin = 1.30 8266wifi.espResetPin = 1.31 adc.prefilter.enable = true //TMC 22XX Config stepper.numSmartDrivers = 4 //LED blinks to indicate Platform is spinning or other diagnostic //Comment out or set to NoPin if not wanted. //leds.diagnostic = 1.18; leds.diagnostic = NoPin; //Internal SDCard SPI Frequency. lpc.internalSDCard.spiFrequencyHz = 25000000; //Only supports 1 External SDCard //externalSDCard.csPin = 0.16; //externalSDCard.cardDetectPin = 1.31; //lpc.externalSDCard.spiFrequencyHz = 4000000; //lpc.externalSDCard.spiChannel = 0; //LCD Pins (only ST9720 SPI currently supported) //setup the Software SPI Pins for LCD //lpc.softwareSPI.pins = {1.20, NoPin, 1.18}; //Set to GPIO pins to use as SCK, MISO, MOSI //lcd.spiChannel = 2; //lcd.lcdCSPin = 1.19; //lcd.lcdBeepPin = 1.30; //lcd.encoderPinA = 3.26; //lcd.encoderPinB = 3.25; //lcd.encoderPinSw = 0.28; //click //lcd.lcdDCPin = NoPin; //DataControl Pin (A0) if none used set to NoPin //lcd.panelButtonPin = NoPin; //Extra button on RRD Panel heat.tempSensePins = {bedtemp, e0temp, e1temp}; //Max of 3 entries //heat.tempSensePins = {0.25, 0.24, 0.23}; //tb, th0, th1 //heat.spiTempSensorCSPins = { }; //Max of 2 entries
; Configuration file for SKR v1.4 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.4 on Mon Jun 15 2020 18:47:53 GMT+0200 (Central European Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"SKR Ender 3 PRO" ; set printer name ; Network ;M552 S0 ; disable network M552 S1 ; enable network ; Drives M569 P0 S0 T0.1:0.1:0.02:0.02 ; physical drive 0 (X) goes backwards using TMC220x driver timings M569 P1 S0 T0.1:0.1:0.02:0.02 ; physical drive 1 (Y) goes backwards using TMC220x driver timings M569 P2 S1 T0.1:0.1:0.02:0.02 ; physical drive 2 (Z) goes forwards using TMC220x driver timings M569 P3 S0 T0.1:0.1:0.02:0.02 ; physical drive 3 (E0) goes backwards using TMC220x driver timings M584 X0 Y1 Z2 E3 ; set drive mapping ;M92 X80.00 Y80.00 Z400.00 E93.00 ; set steps per mm default M92 X80.00 Y80.00 Z400.00 E143.10 ; set steps per mm after E steps tuning M566 X900.00 Y900.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E6000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z100.00 E5000.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X235 Y235 Z250 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Z via pin zstop ; Z-Probe M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" A"Bed" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bed" T0 ; create bed heater output on bed and map it to sensor 0 M140 H0 ; map heated bed to heater 0 M143 H0 S130 ; set temperature limit for heater 0 to 130C M307 H0 B0 S1.00 ; enable bang-bang mode for the nozzle heater and set PWM limit M308 S1 P"e0temp" Y"thermistor" A"Hotend" T100000 B4092 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M143 H1 S290 ; set temperature limit for heater 1 to 290C M307 H1 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 C"Nozzle Side Fan" ; set fan 0 name and value. Thermostatic control is turned off ;M950 F1 C"e1heat" Q500 ; create fan 1 on pin fan1 and set its frequency M950 F1 C"HE1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T50 C"Hotend Fan" ; set fan 1 name and value. Thermostatic control is turned on ; Tools M563 P0 S"Hotend" D0 H1 F1 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards June 19, 2020 04:10PM |
Registered: 13 years ago Posts: 224 |