robots / gdm Goto Github PK
View Code? Open in Web Editor NEWGeodimeter totalstaion toolkit and documentation
License: GNU General Public License v3.0
Geodimeter totalstaion toolkit and documentation
License: GNU General Public License v3.0
Hi, I just bought a 5605 station without cu and want to operate it via serial communication. 'RG,7' and 'RG,8' are giving results, but when sending 'TG' then nothing happens. Do you know the correct commands to start a distance measurement?
Btw I have this old geodatwin software with 'drivers' for geodimeter (although I can't get it to work), maybe this could be interesting for you...
My mail: [email protected]
Hi Robots,
A great piece of reverse engineering.
I am playing with a 400 series unit, which has the error 51 issue, I have replaced the memory backup battery, built the interface board, flashed / verified the STM32 device. My problem is the STM32F103 is not recognised when I connect it to ubuntu or windows via USB.
It appears no ST Linux drivers have been drivers have been published for the part, please could you advise how you are connecting to the device ?
Thanks.
Hi there, that's a great job you've done!
I just saved an old GDM610 from being thrown away but its onboard batteries are dead -> program lost ...
Is there by chance any possibility to bring this loveley device back to live with these tools? The serial port seems to work fine on the CU
Greetings! Thank you for your amazing work!
I have a question: When I read out the firmware from my two GDM610's, the hex dump file is different each time. Anywhere from 10-70 lines are different.
I tried also just manually authenticating and reading it out with OV* and minicom, and it all looks perfectly formatted and same number of lines but still comes out with some lines different on each read.
Is this just because the internal clock/calendar is running and since it's a whole copy of ram, it's changing? The changes always seem to be in the main memory, not any of the upper banks.
Also odd is that one of the 610's only reads out 3 banks instead of 7 banks.
I've been getting some old GDMs and tinkering with them.
1x 5601 (Dead Battery.)
2x 610 (Working, except EDM gives random results on one of them.)
4400 (Working, except sometimes level compensator goes weird.)
2x 140 (One works, other throws error code.)
1x 360 RMT for 600 series (Works)
1x original RMT for 600 series. (Works)
1x RMT for 4400 (Probably works.)
2x TSCe Data Ranger (1 works, 1 not.)
1x CU that works with both 610's.
1x CU that does not work with either 610, claims "Wrong device" when connected, and it has settings for "Direct reflex" so I think it's for something with direct reflex.
I'm an EE/Firmware dev guy with a couple oscilloscopes and soldering irons and stuff so if anyone needs waveforms for building DIY RMT's or RS232 comms captures let me know.
I can also share the firwmware dumps from the two 610's if anyone wants to try that on theirs.
Also I'm looking for a firmware dump for the 5601 DR 200, mine came to me empty (But the bootloader is there, I can connect terminal and read the memory contents without authentication, and the motors move when I turn the knobs.)
The Data Ranger works with one of the 610's, but not the other, not sure why.
would you please send me a backup of 5601 and/or 5603 of a working Trimble total station, even if the values are not corresponding but just i want to revive it again then i will try to calibrate it as most as i can!
this is my Gmail:
[email protected]
Contex:
Instrument: Spectra Focus 10
backups are done on the same boot and serial connection
So the two backups have discrepancies between them only in the initial couple of lines. Any idea why this might be?
after this section both files are identical.
Are these good backups? would it be safe to change the batteries?
Initial
S1130020002801300111E600065C0101116D000099
S1130030000000000005B5000D520112FE0111E19F
S11300400111DE11E6024CB30000000000000001C3
S113005011E301116B003DFF0001116C000000FB76
S11300600042030247C6000000032D0001072201DD
S113007002020111E4009F000000000000010200E0
S1130080000000000000011EB8024E4900F00257B3
S113009043067F025743067F026CD3026C002A0199
S11300A01DFC04026C82C000F0010000000000008E
S11300B03E000001020000000000000000000000FB
S11300C00111E50000000000000000000000000035
S11300E0000000000000000000000000000100FC0F
S11300F00AFFFF010D60000000302E3000373D374D
S11301003836310033363035003435003239323840
S1130110320000003246373030000000000000009A
S11301F000000000000000000000010D600000008D
S11302000D00040111E10D000111DE01000115448E
S113021007010BEA0BEA024D85010BEA000000001E
S1130220000000000000000000000007DB031300D2
S1130230000025785807DB03130712010714010790
S11302401500020064000001000000130111EB001E
S11302500000000000000000000001026801026BC1
S113026001026301027400020111F0024E6A0102EC
S113027082010286010C0000000000000000000062
S113028004FF00000015000000130111EB010294AB
S113029007E7050A04FF000111E4000000007200F2
S11302A072720000000001037E0002E70102F00008
S11302B0000007000000008BA98AC600060102E8BE
S11302C000000000FFFFFFFF00000003000000002B
S11302D000000000000000000A0000000001036CA0
S11302E001036C024EAA0047302E303030303030DB
S11302F03938000000000000000000000000000089
S11303600000000000003032373836300002489C6C
S11303700550E301037E0103790103860003010DA7
S1130380630248970000007F000000003AB5BA8875
S11303A00000000000C2000112E301116801117491
S11303B00105AE0000000103D700000000478000E3
S11303C0000000000000000000000000000450DBFA
S11303D0067F0111E50450DB00000000000000006E
S11303E0000000000000000000000000090105A654
S11303F00001018356080328011C3101058FFF0108
S113040002000112DE412C3136353D3338372E33AC
S1130410333630350000000000000000000000000A
S113050000000000000138372E3333363035000048
S113051000000000000007025604005CDBDB560408
S1130520005E30A200000000010112E40201053364
S113053001053743C7FFE642ACAF7000000000423C
S1130540CD4F70000111E500000000000002574388
S11305500450DB067F0112E443BCA41F000111E533
S11305600001000111E5000000570111E5570111D8
subsequent
S1130020000102300111E600065C0101116D0000BF
S1130030000000000005B5000D520112FE0111E19F
S11300400111DE11E6024CB30000000000000001C3
S113005011E301116B003DFF0001116C000000FB76
S11300600042030247C6000000032D0001072201DD
S113007002020111E4009F000000000000010200E0
S1130080000000000000011EB8024E4900F00257B3
S113009043067F025743067F026CD3026C002A0199
S11300A01DFC04026C82C000F0010000000000008E
S11300B03E000001020000000000000000000000FB
S11300C00111E50000000000000000000000000035
S11300E0000000000000000000000000000100FC0F
S11300F00AFFFF010D60000000302E30003231385D
S11301003332003333363035003435003239323847
S1130110320000003246373030000000000000009A
S11301F000000000000000000000010D600000008D
S11302000D00040111E10D000111DE01000115448E
S113021007010BEA0BEA024D85010BEA000000001E
S1130220000000000000000000000007DB031300D2
S1130230000025785807DB03130712010714010790
S11302401500020064000001000000130111EB001E
S11302500000000000000000000001026801026BC1
S113026001026301027400020111F0024E6A0102EC
S113027082010286010C0000000000000000000062
S113028004FF00000015000000130111EB010294AB
S113029007E7050A04FF000111E4000000007200F2
S11302A072720000000001037E0002E70102F00008
S11302B0000007000000008BA98AC600060102E8BE
S11302C000000000FFFFFFFF00000003000000002B
S11302D000000000000000000A0000000001036CA0
S11302E001036C024EAA0041302E303030303030E1
S11302F03938000000000000000000000000000089
S11303600000000000003032313833300002489C75
S11303700550E301037E0103790103860003010DA7
S11303806302489700000000000000003AB5BA88F4
S11303A00000000000C2000112E301116801117491
S11303B00105AE0000000103D700000000478000E3
S11303C0000000000000000000000000000450DBFA
S11303D0067F0111E50450DB00000000000000006E
S11303E0000000000000000000000000090105A654
S11303F00001018356080328011C3101058FFF0108
S113040002000112DE412C3136353D3338372E33AC
S1130410333630350000000000000000000000000A
S113050000000000000138372E3333363035000048
S113051000000000000007025604005CDBDB560408
S1130520005E30A200000000010112E40201053364
S113053001053743C7FFE642ACAF7000000000423C
S1130540CD4F70000111E500000000000002574388
S11305500450DB067F0112E243BCA41F000111E535
Hi, first i wanna thank you a lot for this fantastic work. so i have a 5603 dr200+ that was showing a message that the internal battery has been expired and i need to change it then the gun stopped connecting, it was flashing back and forth at level bubble, so i used the backup programme to get the frimware from the gun it worked 100% i got a file with 466KB then i did changes batteries, i uploaded the FW.s file it worked also and showed 100% then the gun did a sound, then the gun still not connecting to the cu and neither the backup programme or the upload programme working what can be the problem are the firmware from the station currupted because the batteries are almoste died or it could be something else !!? any help is so apreciated
I've wired up a cable that plumbs my Geodimeter 4400 Robotic station to both provide power and bi directional RS232 connections.
I'm quite sure I got it right, both data lines are idling around -13v.
The 4400 seems to detect when the RS232 is plugged in, and just says "Info 23" over and over with beeps. (Timeout.)
So it's like it detects that a geodat is plugged in by looking at the idle negative voltage on the RS232 data line, then shuts down the keypad and lets the geodat take over.
However, I see nothing on my terminal program on my computer, and it does not seem to respond at all to keystrokes.
I tried 9600 and 1200 bps and neither did anything.
It's like the 4400 is waiting for a magic sequence from the Geodat (which I haven't got.)
Any information on the bitrate and/or the available commands would be greatly appreciated!
hi robots
when running backupfirmeware.py it starts reading normally until 28% shows this error:
the instument that i m reading from is working, i have tested also with another working station and the same error is shown,
i m using python 3.4.1 installed on win7 pack 1, 32 bit arch.
as i have a few experience in programing i think the error is because the int with base 16 cant quary more data
so what is the simple solution
Hi robots,
I tried to replace an internal battery of my 5503 CU,
then CU did not turn on ......
pwn + con , no luck , say "load default ..unsuccess"
so would you please send me a copy of fw.bin to me
Thanks
I put firmware for a 5605 (With a radio) onto my 5601 (without a radio) and it causes a 2 minute delay on powerup before it starts responding to either the CU or the Ranger/TSCe.
Is there a way I can disable it from expecting to find a radio? Evidently it waits for 2 minutes trying to get a response from the radio before proceeding.
Unfortunately, this sometimes causes the CU to power off before the 5600 is ready to play!
WORK AROUNDS:
1: Use a data collector which you can connect any time, including after the 2 minute timeout.
2: Power up CU via it's own power port, and when it goes into offline mode, unplug power. Next time it is powered up, it may pause and say "Powered off by illegal function, press OK" and the prompt may wait there for long enough that the 2 minutes is up and the 5600 is ready to play.
3: Install a radio out of any other 5600 or 600 series. You don't have to use the radio, it just needs to be able to say "hi" to it.
As a side note, the radio bay inside the 5600/600 series is huge. I think a 2 or 3 hour battery could be placed inside there, possibly with a modern legal bluetooth wireless bridge radio.
As another side note, the OEM radio (H25, 0.1W, 450Mhz) probably communicates via RS232 because there's a MAX232C chip on there. It should not be too hard to put a scope on there and figure out which is data pins and find out what text exchange takes place, and make a small micro chip emulate that so the unit believes there's a radio there.
Even without the radio, it does seem to do all the other functions, including tracking an RMT.
Muchas gracias por tu trabajo ROBOTS.
Mi pregunta es, funcionaría tú código en una estación Trimble serie 3600?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.