New firmware 1.20 Release Candidate 2 - please try it!
-
A Couple of Typos first in this post first line V1.20RC3 has minor changes to 1.20RC3
And in the changeling latest release titled as 1.20RC2
Doug
Thanks, I've corrected those.
-
I still have at lot of Communication Error (before with 1.18, ther was no problems with the WiFi)
DuetWiFiServer ver. 1.20B10 Install twice as DC42 say
Web Interface ver. 1.20-RC3
Duet FirmWare ver. 1.20RC3
My Wifi ruter is a ASUS RT-AC87U, and is firmware is up to date. good signal -55
It just go on and off. On the Paneldue is say Wifi Reported Error Lost Connection Auto Reconnect, and Auto Reconnect Succeeded about every 1 - 2 min
On the webinterface most of the time, I have Communication Error, then I can reconect, but after Max 1min I am off aging..
Anny solution to this?
KentPlease can you and anyone else experiencing WiFi disconnection issues do this. Connect a PC via USB and send M111 S1 P14 to enable the WiFi debugging feature. You will get a few WiFi debug messages during startup and initial connection to your router, but there should be no more after that. If the disconnect occurs again, look at the console on the PC to see whether any more debug messages have been received, and report what you find.
-
When i type M915 in the g-code console in the web interface
only the 1st 3 drivers are listed, see below. I have 9 drivers. Is that the way it should be ?M915
Driver 0: stall threshold -10, filter on, steps/sec 200, coolstep 0, action: none
Driver 1: stall threshold -10, filter on, steps/sec 200, coolstep 0, action: none
Driver 2: stall threshold -10, filter on, steps/sec 200, coolstep 0, action: none
Driver 3: -
HI DC42
This from my WiFi debug.Connecting…
Printer is now online.M111 S1 P14
SENDING:M111 S1 P14
Debugging enabled for modules: WiFi(14)
Debugging disabled for modules: Platform(0) Network(1) Webserver(2) GCodes(3) Move(4) Heat(5) DDA(6) Roland(7) Scanner(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13)
WiFi: bcn_timout,ap_probe_send_start
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: pm open,type:2 0
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi: pm open,type:2 0
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: pm open,type:2 0
WiFi: bcn_timout,ap_probe_send_start
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi: pm open,type:2 0
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi: pm open,type:2 0
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi: pm open,type:2 0
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: bcn_timout,ap_probe_send_start
WiFi: pm open,type:2 0
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: pm open,type:2 0
WiFi: bcn_timout,ap_probe_send_start -
@vp:
When i type M915 in the g-code console in the web interface
only the 1st 3 drivers are listed, see below. I have 9 drivers. Is that the way it should be ?M915
Driver 0: stall threshold -10, filter on, steps/sec 200, coolstep 0, action: none
Driver 1: stall threshold -10, filter on, steps/sec 200, coolstep 0, action: none
Driver 2: stall threshold -10, filter on, steps/sec 200, coolstep 0, action: none
Driver 3:There is a limit on the response length for normal replies. You can use M915 D0, M915 D1 etc. to get status for individual drives.
-
HI DC42
This from my WiFi debug.Connecting…
Printer is now online.M111 S1 P14
SENDING:M111 S1 P14
Debugging enabled for modules: WiFi(14)
Debugging disabled for modules: Platform(0) Network(1) Webserver(2) GCodes(3) Move(4) Heat(5) DDA(6) Roland(7) Scanner(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13)
WiFi: bcn_timout,ap_probe_send_start
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi status to disassoc
WiFi: state: 5 -> 0 (1)
WiFi: rm 0
WiFi: pm close 7
WiFi: scandone
WiFi: state: 0 -> 2 (b0)
WiFi: state: 2 -> 3 (0)
WiFi: state: 3 -> 5 (10)
WiFi: add 0
WiFi: aid 9
WiFi: cnt
WiFi:
WiFi: connected with Nordbygaard, channel 1
WiFi: dhcp client start...
WiFi reported error: Auto reconnect succeeded
WiFi: ip:192.168.1.162,mask:255.255.255.0,gw:192.168.1.1
WiFi: pm open,type:2 0
WiFi: bcn_timout,ap_probe_send_start
WiFi reported error: Lost connection, auto reconnecting
WiFi: ap_probe_send over, rest wifi
...Thanks. Apart from an unusual number of disconnections, i don't see anything wrong in those messages. Can you try changing your WiFi router to a different channel? There were some reports a while ago that channel 1 didn't work very well.
-
I just ran simulation mode on a 2MB file that will use 473,819.3mm of filament. It was sliced with a 0,9mm nozzle, 0.7mm layer height at 20mm/sec print speed. The simulation reckons it'll be printed in 1 minute and 1 second. (I wish).Firmware Name: RepRapFirmware for Duet Ethernet
Firmware Electronics: Duet Ethernet 1.0 + DueX5
Firmware Version: 1.20RC2 (2017-12-13)
Web Interface Version: 1.20-RC3Edit. Ignore all that - it was me being stupid (no change there then)
-
Hi Dc42
I have try most of the channel on the WiFi router, but still the same, Some time after 1 hour, but then to go into a loop on / off. We dont have Any problems with other WiFi equipment on the 2.4GKent
-
When I try to connect to DWC I get this error:
Could not establish a connection to the Duet firmware! Please check your settings and try again.I'm able to ping the DuetWiFi, wifi signal is -59, it's on a static Ip and I confirmed that the mac address is correct . Am I missing something obvious?
1. Did you install DuetWiFiServer.bin twice as suggested in the upgrade notes?
2. If you send M552 S1 from USB or PanelDue then it will report success/failure of the attempt to connect to your router.
M552 S1 from USB and PanelDue says connection the router. As far as I can tell everything sees each other and I can get on to DWC but it will not connect.
DuetWiFiServer ver. 1.20B10 Installed twice(+)
Web Interface ver. 1.20-RC3
Duet FirmWare ver. 1.20RC3
DuetWifi HardWare ver. 1.0 -
my Z height is now messed up. Yes I ran the macro to do a mesh level. even AFTER that, any print starts at a negative Z.
I try to raise the Z, but it gets delayed and then over compensated by me because of the delay. -
This morning was the first time I've used M916. I had a heater fault due to a bad thermistor connection. After investigating, and clearing the faults, M916 worked as expected. I had to pause the print to fix something else and it did not run my pause.g (which would move the print head away, nor resume.g, which would rehome all axes etc. The machine stopped moving but only in the last position. Ultimately, I canceled the print and cancel.g was not run either. It seems that it is ignoring certain system files after M916.
-
Does anybody else use FW1.20 with Duet 0.85 and DueX4?
With my hardware configuration FW1.20 doesn't even start up (it seem Duet is struggling to get an IP).
FW 1.19 runs with occasional resets (can happen even midprint).FW 1.18.1 runs with no problems at all.
DC42 was mentioning too low memory with my config, but I have no idea what exactly is causing this issues.
-
Anyone using interpolation for the drivers notice a difference? I swear my machine is much louder now but I did move it so it's hard to tell for sure.
-
@AS-3D:
@AS-3D:
I got a Problem to open a Directory on G-Code Files:
[[language]] A JavaScript error has occurred so the web interface has closed the connection to your board. It is recommended to reload the web interface now. If this happens again, please contact the author and share this error message: Version: 1.20-RC3 Message: Uncaught TypeError: Cannot read property 'match' of undefined URL: http://d-bot.local/js/dwc.js Line: 2015:27 Error object: {}
Only this Directory makes Problemes everything else works.
Is there anything unusual about that directory, for example its name?
Got it, i used letters like äüß and he converted that to strange Symbols.
After renaming everything works again.What browser were you using when this happened? I cannot reproduce it with Firefox and Chromium.
Edit: Just found a possible cause for this, I'll fix that in the final v1.20.
-
….................
4. Various DWC issues, which I believed are resolved in DWC 1.20-RC3.Some have been resolved but the extruder position issue that I reported above is still outstanding.
Ian, we're not sure whether this is a DWC issue or a RRF issue. So please can you set up a situation in which this issue is visible. Then send M408 S2 and M408 S3 and report the responses. Also report what DWC is displaying and what you think it should display instead.
-
Just wanted to download 1.20RC3 but got confused, because all the directories are named 1.19RC3….
-
Just wanted to download 1.20RC3 but got confused, because all the directories are named 1.19RC3….
Which directories?
-
Just wanted to download 1.20RC3 but got confused, because all the directories are named 1.19RC3….
Which directories?
It can be a bit confusing:
https://github.com/dc42/RepRapFirmware/tree/dev/Release/Duet-Ethernet/EdgeFilename is DuetEthernetFirmware-1.20RC3.bin Version says: 1.19RC3
-
….................
4. Various DWC issues, which I believed are resolved in DWC 1.20-RC3.Some have been resolved but the extruder position issue that I reported above is still outstanding.
Ian, we're not sure whether this is a DWC issue or a RRF issue. So please can you set up a situation in which this issue is visible. Then send M408 S2 and M408 S3 and report the responses. Also report what DWC is displaying and what you think it should display instead.
David/Chris et al,
So powering up the Duet, the Machine Status Panel (on Machine Control Page, top right of DWC) shows me the 5 extruder drives labelled DO, D1, D2,D3 and D4 which is correct. Under each drive is shown the "position" which to start with is 0.0 for all 5 of them. I set the active temperature for all tools to 180deg C (they all share the same heater) to allow normal extrude. Once up to temperature under "Extruder Control" I then select Extruder Drive 0, Feed Amount 20, Feed Rate 5 and hit the button "Extrude". Visibly I observes that drive 0 rotates. After the 20mm of filament has been extruded, the position of the extruder drives is now Drive 0 = 0.0, Drive 1=0.0, Drive 2 = 20.0, Drive 3= 0.0, Drive 4 = 0.0. Expected behaviour would be for Drive 0 to show 20.0 (this is the one that that has just extruded 20mm of filament), and the other 4 drives to show 0.0. Especially Drive 2 because like the other 4 drives, it hasn't been commanded to move nor has it physically moved yet after extruding 20mm of filament from Drive 0, Drive 2 show the "position" has changed form 0.0 to 20.0.
Responses as follows:
15:30:59
M408 S2
{"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0,0.0,20.0,0.0,0.0],"xyz":[0.000,0.000,0.000]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,100.00,100.00,100.00,100.00,49.80,49.80,0.00],"speedFactor":100.00,"extrFactors":[100.00,100.00,100.00,100.00,100.00],"babystep":0.000},"sensors":{"probeValue":525,"fanRPM":0},"temps":{"bed":{"current":21.9,"active":0.0,"state":0,"heater":0},"current":[21.9,180.0,2000.0,2000.0,2000.0,2000.0,2000.0,2000.0],"state":[0,2,0,0,0,0,0,0],"heads":{"current":[180.0],"active":[180.0],"standby":[0.0],"state":[2]},"tools":{"active":[[180.0],[180.0],[180.0],[180.0],[180.0],[180.0]],"standby":[[0.0],[0.0],[0.0],[0.0],[0.0],[0.0]]},"extra":[{"name":"MCU","temp":31.4},{"name":"Duet\Duex","temp":30.8},{"name":"Z Stepper","temp":19.7},{"name":"LeftLowerXYStepper","temp":21.3},{"name":"RightLowerXYStepper","temp":21.1},{"name":"LeftUpperXYStepper","temp":21.4},{"name":"RightUpperXYStepper","temp":20.9}]},"time":1324.0}15:32:59
M408 S3
{"status":"I","coords":{"axesHomed":[0,0,0],"extr":[0.0,0.0,20.0,0.0,0.0],"xyz":[0.000,0.000,0.000]},"currentTool":0,"params":{"atxPower":0,"fanPercent":[0.00,100.00,100.00,100.00,100.00,100.00,49.80,49.80,0.00],"speedFactor":100.00,"extrFactors":[100.00,100.00,100.00,100.00,100.00],"babystep":0.000},"sensors":{"probeValue":525,"fanRPM":0},"temps":{"bed":{"current":22.2,"active":0.0,"state":0,"heater":0},"current":[22.2,180.0,2000.0,2000.0,2000.0,2000.0,2000.0,2000.0],"state":[0,2,0,0,0,0,0,0],"heads":{"current":[180.0],"active":[180.0],"standby":[0.0],"state":[2]},"tools":{"active":[[180.0],[180.0],[180.0],[180.0],[180.0],[180.0]],"standby":[[0.0],[0.0],[0.0],[0.0],[0.0],[0.0]]},"extra":[{"name":"MCU","temp":31.4},{"name":"Duet\Duex","temp":30.9},{"name":"Z Stepper","temp":19.7},{"name":"LeftLowerXYStepper","temp":21.2},{"name":"RightLowerXYStepper","temp":21.0},{"name":"LeftUpperXYStepper","temp":21.4},{"name":"RightUpperXYStepper","temp":20.8}]},"time":1444.0,"coldExtrudeTemp":160,"coldRetractTemp":90,"tempLimit":290,"endstops":3968,"firmwareName":"RepRapFirmware for Duet Ethernet","geometry":"coreXYUV","axes":3,"axisNames":"XYZUV","volumes":2,"mountedVolumes":1,"name":"TallCoreXY","probe":{"threshold":700,"height":-0.50,"type":1},"tools":[{"number":0,"name":"","heaters":[1],"drives":[0,1,2,3,4],"axisMap":[[0],[1]],"fans":1,"offsets":[0.00,0.00,0.00]},{"number":1,"name":"","heaters":[1],"drives":[0,1,2,3,4],"axisMap":[[0],[1]],"fans":1,"offsets":[0.00,0.00,0.00]},{"number":2,"name":"","heaters":[1],"drives":[0,1,2,3,4],"axisMap":[[0],[1]],"fans":1,"offsets":[0.00,0.00,0.00]},{"number":3,"name":"","heaters":[1],"drives":[0,1,2,3,4],"axisMap":[[0],[1]],"fans":1,"offsets":[0.00,0.00,0.00]},{"number":4,"name":"","heaters":[1],"drives":[0,1,2,3,4],"axisMap":[[0],[1]],"fans":1,"offsets":[0.00,0.00,0.00]},{"number":5,"name":"","heaters":[1],"drives":[0,1,2,3,4],"axisMap":[[0],[1]],"fans":1,"offsets":[0.00,0.00,0.00]}],"mcutemp":{"min":15.9,"cur":31.4,"max":31.8},"vin":{"min":24.4,"cur":24.6,"max":24.7}}Edit. Similar behaviour happens when I use the other extruders and during printing. That is to say, Drive 3 shows the value for drive 1, drive 4 shows the value for drive 2. So Drives 0 and 1 always show 0.0.
-
Just wanted to download 1.20RC3 but got confused, because all the directories are named 1.19RC3….
Which directories?
It can be a bit confusing:
https://github.com/dc42/RepRapFirmware/tree/dev/Release/Duet-Ethernet/EdgeFilename is DuetEthernetFirmware-1.20RC3.bin Version says: 1.19RC3
Looks like I got the file commit comment wrong! Version 1.20RC4 coming soon anyway.