Forum Replies Created
-
AuthorPosts
-
cmagagnaMember
Can you post your $, $x, $y, $z settings?
cmagagnaMemberThanks for the JSON tip. I’ll check it out.
I’ll also open incidents at github from now on.
Thanks again.
cmagagnaMemberThanks Alden, I’ll try that out soon.
In the meantime, with the new programmer I was able to write tinyg.hex directly to the board with avrdude:
avrdude -c avrispmkii -v -p x192a3 -P usb -U flash:w:tinyg.hex
and that looks like it’s fixed the problems I had originally (crashing on $$, $x, etc.).
Chris
cmagagnaMemberI just got an AVR programmer and have tried reflashing the bootloader but keep getting this error:
Verifying Flash…Failed! address=0x31000 expected=0x1f actual=0xff
This seems to be similar to the problem greyhound716 had in this thread:
https://www.synthetos.com/topic/problems-flashing-firmware/
but I’ve tried the exact same fixes and it didn’t help.
I’ve got the latest AtmelStudio (6.1.2440 beta) and have upgraded the programmer to firmware 1.15.
I’m following the instructions under “Flashing the Boot Loader onto the Xmega Chip” on this page:
https://github.com/synthetos/TinyG/wiki/TinyG-Boot-Loader
Chip target voltage is 3.3V and device signature is 0x1E9744. Here’s the fuse settings:
JTAGUSERID = 0xFF
WDWP = 8CLK
WDP = 8CLK
DVSDON = [ ]
BOOTRST = BOOTLDR
BODPD = DISABLED
RSTDISBL = [ ]
SUT = 0MS
WDLOCK = [ ]
JTAGEN = [X]
BODACT = DISABLED
EESAVE = [ ]
BODLVL = 1V6FUSEBYTE0 = 0xFF (valid)
FUSEBYTE1 = 0x00 (valid)
FUSEBYTE2 = 0xBF (valid)
FUSEBYTE4 = 0xFE (valid)
FUSEBYTE5 = 0xFF (valid)Please let me know if you need anything else or can help with what I’m doing wrong etc.
Thanks,
Chris
cmagagnaMemberHi Riley,
Thanks for your input. I see that you’re using Arduino 1.0.2 and I had 1.0.4 so I just tried with the older version but unfortunately get the same result.
I don’t have an AVR programmer but just ordered one so I can try reflashing the xboot.hex bootloader without having to send the board back to you guys again. I’ll post again once I’ve tried this.
Chris
cmagagnaMemberI think things are working normally. It sounds like you’re talking to the board but it’s not echoing what you type back. The fastest fix is to tell your terminal app to echo your characters. I’m not sure how it’s done in Coolterm but in Putty it’s in configuration, Terminal, Local Echo – Force On. I also turn on Local Line Editing, so I can use backspace to fix typos.
The other thing you can do is make your TinyG board itself echo the characters back to you — do this by typing “$ee=1”. You won’t see these characters as you type, but once you hit ‘return’ you should start seeing everything as you type.
(by the way — ctrl-X is a special command to tell the TinyG to start the bootloader. The LED flashing is the board telling you this is happening).
cmagagnaMemberI should say I’ve also tried resetting the board to factory default settings ($defa=1), different baud rates, turning off flow control, a different computer, etc. all with the same result.
March 25, 2013 at 10:22 pm in reply to: Limit switches not working, config changes not being saved #3952cmagagnaMemberHi everybody,
I just got my board back from Synthetos, now with the bootloader and version 370.08 of the code.
I haven’t had a chance to hook it up to my ShapeOko yet, but I can verify both the limit switch bug and the saving parameters in inches bug are now fixed.
A special note of thanks to Synthetos for both the quick bug fixes and the immediate turnaround in upgrading the firmware on my board (they got it Friday; I got it back today). You guys are great!
Chris
March 20, 2013 at 3:07 pm in reply to: Limit switches not working, config changes not being saved #3897cmagagnaMemberHi,
I tried this. Same result. Please see above. I understand everything is being saved in mm etc. but the problem is if I specify a parameter (e.g. X seek velocity $xvm) the value is being saved but not converted.
I’m doing everything in inches. I reboot the TinyG and explicitly type G20 and $gun=0. The TinyG is reporting “[inch]”. I set $xvm to 500. The system now uses 500 inches / minute, and if I do something like “G0 X5” the X axis moves 5 inches at the correct speed (about a second). So far so good.
Now I reboot. Everything’s still in inches. $gun still reports 0, and the TinyG prompt is still “[inch]”. $xvm, however, is now 19.68 inches / minute. Even if I issue “G20”, when I do something like “G0 X5” the X axis moves really slowly (because it’s only moving at 0.3 inch / sec).
So yes I believe everything in the base code etc. is working fine with regard to inches / mm, but I believe there’s a bug in whatever code writes the parameters to EEPROM. I believe the “500” is being saved verbatim; since the units aren’t being converted on reboot the startup code is reading the “500” and assumes its mm, which is 19.68 inches.
I hope this helps.
Chris
March 20, 2013 at 1:53 pm in reply to: Limit switches not working, config changes not being saved #3895cmagagnaMemberHi Alden,
I’ve verified this bug. The values are being saved, but not the units. Here’s an example where I reboot the TinyG, explicitly forcing inches with G20, verifying the system is in inches via $gun, set the X seek rate to 100 inches / minute, and reboot again. You’ll see the X seek rate goes to 3.937 inches / min, which works out to 100 (3.937 * 25.4).
Similar to what n7qvu says above, I’m just going to switch over to mm so I won’t have to deal with this problem, but I do want to make sure you’re aware of it.
Chris
{"r":{"fb":370.050,"fv":0.950,"hv":7.000,"id":"9H3906-XWP","msg":"Loading configs from EEPROM","f":[1,15,0,38]}}
{"r":{"fb":370.050,"fv":0.950,"hv":7.000,"id":"9H3906-XWP","msg":"SYSTEM READY","f":[1,0,0,960]}}
tinyg [inch] ok>
g20
tinyg [inch] ok>
$
[fb] firmware build 370.05
[fv] firmware version 0.95
[hv] hardware version 7.00
[id] TinyG ID 9H3906-XWP
[ja] junction acceleration 3937 in
[ct] chordal tolerance 0.000 in
[st] switch type 0 [0=NO,1=NC]
[ej] enable json mode 0 [0=text,1=JSON]
[jv] json verbosity 4 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
[tv] text verbosity 1 [0=silent,1=verbose]
[qv] queue report verbosity 0 [0=off,1=filtered,2=verbose]
[sv] status report verbosity 0 [0=off,1=filtered,2=verbose]
[si] status interval 100 ms
[ic] ignore CR or LF on RX 0 [0=off,1=CR,2=LF]
[ec] expand LF to CRLF on TX 1 [0=off,1=on]
[ee] enable echo 1 [0=off,1=on]
[ex] enable xon xoff 1 [0=off,1=on]
[baud] USB baud rate 5 [1=9600,2=19200,3=38400,4=57600,5=115200,6=230400]
[gpl] default gcode plane 0 [0=G17,1=G18,2=G19]
[gun] default gcode units mode 0 [0=G20,1=G21]
[gco] default gcode coord system 1 [1-6 (G54-G59)]
[gpa] default gcode path control 2 [0=G61,1=G61.1,2=G64]
[gdi] default gcode distance mode 0 [0=G90,1=G91]
tinyg [inch] ok>
$x
...
[xvm] x velocity maximum 19.685 in/min
...
tinyg [inch] ok>
$xvm=100
[xvm] velocity maximum 100.000 in/min
tinyg [inch] ok>
$x
...
[xvm] x velocity maximum 100.000 in/min
...
tinyg [inch] ok>
{"r":{"fb":370.050,"fv":0.950,"hv":7.000,"id":"9H3906-XWP","msg":"Loading configs from EEPROM","f":[1,15,0,38]}}
{"r":{"fb":370.050,"fv":0.950,"hv":7.000,"id":"9H3906-XWP","msg":"SYSTEM READY","f":[1,0,0,960]}}
tinyg [inch] ok>
g20
tinyg [inch] ok>
$gun
[gun] default gcode units mode 0 [0=G20,1=G21]
tinyg [inch] ok>
$x
...
[xvm] x velocity maximum 3.937 in/min
...
March 18, 2013 at 11:34 pm in reply to: Limit switches not working, config changes not being saved #3886cmagagnaMemberThanks for the reply.
Regarding #1, I saw your fix at github. I don’t have any way to reprogram the board so I will need to do a swap. Thanks for your help.
#2 – The system is definitely set to inches ($gun=0, and that sticks on reboot) but I think everything is being saved in mm, or there’s a conversion bug somewhere. When I set $xvm to 500 (in G20 mode, e.g. X velocity maximum = 500 inches / minute) it works, but on reboot it goes back to 19.685 in/min. This works out to 500 mm / min, so I think the “500” is being saved but not the “in inches” part.
Similarly, when I set motor travel, e.g. $1tr=1.358, it works but on reboot it goes back to 0.053 in, which works out to 1.358 mm.
So I think you’re correct in that the numbers are being saved to EEPROM, but not the units.
I can/should/will probably rework all my code to work in SI instead of Imperial, but I do think this is a bug you should look into at some point.
#3 I looked through the source today at work and you’re right, there’s no PWM being done on the coolant pin. Sorry for assuming this. I just finished tracing out the relay wiring and it looks like this is a hardware problem with the relay and not with the code. I apologize for my error.
Chris
-
AuthorPosts