Home › Forums › TinyG › TinyG Support › Where is the edge firmware?
Tagged: edge
- This topic has 12 replies, 6 voices, and was last updated 10 years, 9 months ago by Riley.
-
AuthorPosts
-
January 17, 2014 at 8:13 am #5185tomking505Member
Yet again, I am astonished that some necessity is missing from the TinyG documentation.
The location of the edge firmware is not listed on the top level wiki pages: https://github.com/synthetos/TinyG/wiki
The location of the edge firmware is not mentioned on the page that discusses the bootloader: https://github.com/synthetos/TinyG/wiki/TinyG-Boot-Loader
The location of the edge firmware is not mentioned on the page that talks about programming the TinyG via the ISP header: https://github.com/synthetos/TinyG/wiki/Programming-TinyG-with-the-Atmel-AVRISP-Mkii-Programmer
And amazingly, there is no link to the edge firmware at https://raw.github.com/synthetos/TinyG/master/firmware/tinyg/default/ page devoted to firmware. This is particularly hard to understand, since I am told the edge version fixes long-known bugs that are not addressed in the master version.
I was also unable to locate the edge firmware by typing “edge firmware” in the Synthetos search box.
I was also unable to locate the edge firmware by googling “tinyg edge firmware location”.
There should be a prominent link on all these wiki pages. I don’t understand how TinyG could get to version 8 without this kind of basic documentation.
- This topic was modified 10 years, 10 months ago by tomking505. Reason: masochism
January 17, 2014 at 3:53 pm #5189cmcgrath5035Moderatortomking505
Is this what you are looking for??
BTW, to get there, I opened the tinyg.h master URL you posted above, ten navigated upstream until I could switch to the edge branch.
If it works well for you, please report on what version it reports as and what you see as fixed.
- This reply was modified 10 years, 10 months ago by cmcgrath5035.
January 18, 2014 at 7:30 pm #5198tomking505MemberYes, that is what I need. Thank you for posting it.
I attempted to load it on my TinyG using AVRdude, and it still blows up, just like the other version I found.
Can someone explain why this would be so hard to find, and why, if it works better than the master version, why isn’t it the master version?
To help other poor souls who bought a TinyG thinking they would find basic info like the location of the firmware, I made this page, and linked it to the main wiki page. It is incomplete, because I’m not a developer, and the developers didn’t write it.
https://github.com/synthetos/TinyG/wiki/firmware
- This reply was modified 10 years, 10 months ago by tomking505.
January 31, 2014 at 3:12 pm #5321ZackSchillingMemberWhen I click the links in this thread, I can only see a makefile, no firmware .hex files. I’d love to try out the edge branch’s improvements. Is my best bet putting together an environment and building it myself?
January 31, 2014 at 5:45 pm #5322ZackSchillingMemberOk, I was able to build the edge firmware. I’m on Mac OS X, so it was a little bit of an adventure, I should share how I did it. Basic steps I followed:
0.) Already had XCode and all the Apple dev tools pre-installed
1.) Signed up for Github (been meaning to do this!)
2.) Installed and configured GitHub for Mac (http://mac.github.com)
3.) Cloned tinyg GIT repo using the “Clone in Desktop” link
4.) Switched to edge branch using GitHub for Mac’s nice GUI
5.) Installed “MacPorts” (http://www.macports.org/install.php)
Used MacPorts to get the relevant AVR tools:
sudo port install avr-libc
sudo port install avrdude6.) Installed the Mac OS X USB driver (http://www.ftdichip.com/Drivers/VCP.htm)
7.) Edited the tinyg makefile to work with the MacPorts version of avr-bintools
In the file …/TinyG/firmware/tinyg/default/Makefile
find
@avr-size -C –mcu=${MCU} ${TARGET}
replace with
@avr-size -A ${TARGET}8.) Navigate to …/TinyG/firmware/tinyg/default/ and run the make command
9.) Success! The make process completes! I get a tinyg.hex that looks just like the master branch’s tinyg.hex file!
:100000000C94A7410C94C8410C94C28E0C94C84126
:100010000C94C8410C94C8410C94C8410C94C8413C
:100020000C94C8410C94C8410C94C8410C943B8B6F
:100030000C94C8410C94C8410C9487830C94C8411B
etc…Ok, so I’ve got a firmware file. The only step above that looks dicey to me is 7. I have absolutely no idea what I’m doing. My avr-size tool simply lacked the -C option and I don’t know what –mcu=${MCU} does. I assume something important. Googling around I saw the suggestion to substitute the -A command, so I did.
Throwing caution to the wind, I decide to try and flash my board with this file. I connect my board, fine the USB device name, and follow the wiki instructions. I hit the reset button on my board and execute the following command.
$ avrdude -p x192a3 -c avr109 -b 115200 -P /dev/tty.usbserial-DA00CQ4M -U flash:w:tinyg.hex
Connecting to programmer: .
Found programmer: Id = “XBoot++”; type = S
Software Version = 1.7; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=512 bytes.Programmer supports the following devices:
Device code: 0x7bavrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9744
avrdude: NOTE: Programmer supports page erase for Xmega devices.
Each page will be erased before programming it, but no chip erase is performed.
To disable page erases, specify the -D option; for a chip-erase, use the -e option.
avrdude: reading input file “tinyg.hex”
avrdude: input file tinyg.hex auto detected as Intel Hex
avrdude: writing flash (109382 bytes):Writing | | 0% 0.00s ***failed;
***failed;
***failed;
***failed;
***failed;
(The failed message repeats over 109,000 times. I will spare you.)
Writing | ################################################## | 100% 0.44savrdude: 109382 bytes of flash written
avrdude: verifying flash memory against tinyg.hex:
avrdude: load data flash data from input file tinyg.hex:
avrdude: input file tinyg.hex auto detected as Intel Hex
avrdude: input file tinyg.hex contains 109382 bytes
avrdude: reading on-chip flash data:Reading | ################################################## | 100% 16.49s
avrdude: verifying …
avrdude: verification error, first mismatch at byte 0x0002
0x14 != 0xa7
avrdude: verification error; content mismatchavrdude done. Thank you.
So the flashing fails but does so especially gracefully. My board is still functional. Thoughts?
February 1, 2014 at 7:13 pm #5323aldenMemberWe are working on a page for all the hexes. Please be patient.
As far as the verification error, we have seen that from AVRdude on occasion, but it does necessarily not signify that a failure has occurred. If the firmware returns the startup string and drives a motor then it has “taken”.
Tom – the reason edge is not master (yet) is that it has not been fully tested. We make it available to people so they may try it out but people should know that it is not the “official” version yet. It may have bugs in it that we do not want as the main release.
February 3, 2014 at 11:37 am #5335ZackSchillingMemberAlright, an official page with builds sounds great.
For the record, the firmware update did not just fail to verify. It failed to take at all.
[fb] firmware build 380.08
[fv] firmware version 0.96
[hv] hardware version 8.00Any idea why this would be?
February 3, 2014 at 8:46 pm #5339RileyKeymasterZach,
That is a new one. I suspect that there is something going wrong on your build process. However in the spirit of getting you and tom cutting on edge I am going to post a link to the “working” edge. I say “working” because it is EDGE! So this is going to be a release but for now its still being tested. So warnings and all that aside try this link out.
I have ZIPPED it so there should be NO ISSUES with windows vs linux vs OSX.
So try this.
https://www.dropbox.com/sh/jyegsvudnhp9w0o/qbvJCmpTisAlso note that we are working (as Alden said) on getting the bin files put up on a more obvious page.
If you find bugs please open “issues” on github here:
https://github.com/synthetos/TinyG/issuesThanks and let us know how it goes!
ril3yFebruary 4, 2014 at 11:33 pm #5351RileyKeymasterAnyone give it a go?
February 6, 2014 at 1:33 am #5360grimMemberI tried it. The hex file worked and flashed to my tinyg (had to rename the file to tinyg.hex to get avrdude to work). It shows up as fw version 412.01 eventhough the file is named 412.02. It doesn’t play nice with tgfx though, but maybe that’s expected since it’s an edge build.
- This reply was modified 10 years, 9 months ago by grim.
February 7, 2014 at 7:05 am #5378aldenMemberOK. We have a new downloads page up that should help. try it out here:
+grim We still need to chase down your tgFX issue, though. The build is actually 412.01, and it should work with tgFX. We’ll try thiis out again to make sure there’s not something we missed.
February 7, 2014 at 12:59 pm #5386grimMemberThe new page looks great. I haven’t tried flashing those hex files yet but they are certainly easier to download now. And it’s much more clear now what the release status is. Thanks!
As far as my tgfx issue, I flashed 380.08 back to my tinyg but I’ll put 412.01 back on and see if I can duplicate my issues and then provide a thorough description. It’s possible it’s something I’m doing wrong as I’m still starting out with this.
- This reply was modified 10 years, 9 months ago by grim.
February 7, 2014 at 5:47 pm #5389RileyKeymasterGrim,
Thanks! As far as your tgfx issues go, lets see what I can do. I need more info on what is going on.
Edge works fine for in tgFX. I am however not using the “exe or app” version but directly out of github and building via netbeans.
Would you give me the run down? What OS, tgfx version and firmware (edge right?) and what exactly is going on?
Perhaps we should open a new post.
ril3y
-
AuthorPosts
- You must be logged in to reply to this topic.