Problems with new Freematics OBD Adapter V2
Got my adapter yesterday, but the logging doesn't work reliably, it stops after about 2minutes of recording (according to LED flashing) and will not resume until I replug it and the data seems to have incorrectly formated GPS values so neither data2kml nor the charting service can use it.
I get F020/10C and occaisonally 10B/10D/10E like in the sample from data2kml.
But no other F-values instead I have $GPGGA/$GPRMC/$GPVTG that after some time seem to contain GPS locations.
But my main proplem is the usbasp I got with my order, I have installed the fischl drivers, but avrdude always complains "avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update." sometimes it gives more information like target not responding and stuff like that. Also the Arduino Builder seems to use 644p when build target is Freematics, but its a 328p.
Please help, I'am lost with that stuff.
Amother (less important since I can't program it anyways) problem are the I2C cables that came with it, they don't fit into the female plug on the 2.2" LCD shield, I think if I plug the 5V/Grd plug in the I2C slot and the white yellow plug onto the SDA/SCL pin headers it might still work but I found no documentation about which cable color belongs to which pin.
I get F020/10C and occaisonally 10B/10D/10E like in the sample from data2kml.
But no other F-values instead I have $GPGGA/$GPRMC/$GPVTG that after some time seem to contain GPS locations.
But my main proplem is the usbasp I got with my order, I have installed the fischl drivers, but avrdude always complains "avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update." sometimes it gives more information like target not responding and stuff like that. Also the Arduino Builder seems to use 644p when build target is Freematics, but its a 328p.
Please help, I'am lost with that stuff.
Amother (less important since I can't program it anyways) problem are the I2C cables that came with it, they don't fit into the female plug on the 2.2" LCD shield, I think if I plug the 5V/Grd plug in the I2C slot and the white yellow plug onto the SDA/SCL pin headers it might still work but I found no documentation about which cable color belongs to which pin.
2014-05-27 20:55:36 Did some more testing and got it to transmit data via I2C to be displayed on the Data Logger Shield with 2.2" TFT LCD, so thats nice, still haven't found out why GPS-parsing doesn't really work, but while testing I got a bit sidetracked and reduced the original firmware to just transmit RAW NMEA lines via BT to be used as an external 10Hz BT-GPS on my android tablet. Works really well once it has a GPS fix. orpheus88
2014-05-27 20:55:36 Did some more testing and got it to transmit data via I2C to be displayed on the Data Logger Shield with 2.2" TFT LCD, so thats nice, still haven't found out why GPS-parsing doesn't really work, but while testing I got a bit sidetracked and reduced the original firmware to just transmit RAW NMEA lines via BT to be used as an external 10Hz BT-GPS on my android tablet. Works really well once it has a GPS fix. orpheus88
2014-05-07 17:00:52 stanley updated the code on github yesterday, to [quote]Improve data logger stability[/quote] there are rather big changes in many parts, mostly for GPS and dfrobot. Tested yesterday with LOG_NMEA_DATA logged the whole half hour drive, with parking in between, during which it could not access OBD data obviously so it created couple of small files with nothing in it or just 4-5 lines of GPS and dfrobot at that time.
With LOG_NMEA_DATA on, you also get big $GP-something lines similar to those of the first factory firmware, but now with leading milliseconds, like the normal lines and no blank lines after it. In the two big files before and after parking, it logged just one OBD PID line in the first and none in the last file, so there seems to be something wrong there. I compiled it yesterday with GPS parse logging activated but that left me with one empty file after my drive to work. I tried to find out why and it freezes, whenever [code]gps.encode(c)[/code] is called, so GPS parsing has to stay inactive.
Compiled again with just Nmea data active and OBD polling set to 20ms which works well, for both GPS and OBD data, I revert the change of logdata(char c) (so its like in the old version), because those lines can easier be postprocessed on the PC. orpheus88
With LOG_NMEA_DATA on, you also get big $GP-something lines similar to those of the first factory firmware, but now with leading milliseconds, like the normal lines and no blank lines after it. In the two big files before and after parking, it logged just one OBD PID line in the first and none in the last file, so there seems to be something wrong there. I compiled it yesterday with GPS parse logging activated but that left me with one empty file after my drive to work. I tried to find out why and it freezes, whenever [code]gps.encode(c)[/code] is called, so GPS parsing has to stay inactive.
Compiled again with just Nmea data active and OBD polling set to 20ms which works well, for both GPS and OBD data, I revert the change of logdata(char c) (so its like in the old version), because those lines can easier be postprocessed on the PC. orpheus88
2014-05-07 17:00:52 stanley updated the code on github yesterday, to [quote]Improve data logger stability[/quote] there are rather big changes in many parts, mostly for GPS and dfrobot. Tested yesterday with LOG_NMEA_DATA logged the whole half hour drive, with parking in between, during which it could not access OBD data obviously so it created couple of small files with nothing in it or just 4-5 lines of GPS and dfrobot at that time.
With LOG_NMEA_DATA on, you also get big $GP-something lines similar to those of the first factory firmware, but now with leading milliseconds, like the normal lines and no blank lines after it. In the two big files before and after parking, it logged just one OBD PID line in the first and none in the last file, so there seems to be something wrong there. I compiled it yesterday with GPS parse logging activated but that left me with one empty file after my drive to work. I tried to find out why and it freezes, whenever [code]gps.encode(c)[/code] is called, so GPS parsing has to stay inactive.
Compiled again with just Nmea data active and OBD polling set to 20ms which works well, for both GPS and OBD data, I revert the change of logdata(char c) (so its like in the old version), because those lines can easier be postprocessed on the PC. orpheus88
With LOG_NMEA_DATA on, you also get big $GP-something lines similar to those of the first factory firmware, but now with leading milliseconds, like the normal lines and no blank lines after it. In the two big files before and after parking, it logged just one OBD PID line in the first and none in the last file, so there seems to be something wrong there. I compiled it yesterday with GPS parse logging activated but that left me with one empty file after my drive to work. I tried to find out why and it freezes, whenever [code]gps.encode(c)[/code] is called, so GPS parsing has to stay inactive.
Compiled again with just Nmea data active and OBD polling set to 20ms which works well, for both GPS and OBD data, I revert the change of logdata(char c) (so its like in the old version), because those lines can easier be postprocessed on the PC. orpheus88
2014-05-05 20:39:02 The "Forums" link from the arduinodev.com site now links to [url=http://freematics.com/forum/index.php]http://freematics.com/forum/index.php[/url] which seems to be just for stanley's hardware and software projects, but it features even less activity than this forum and from the looks of it, its also has "approved posting" because my new thread doesn't show up. orpheus88
2014-05-05 20:39:02 The "Forums" link from the arduinodev.com site now links to [url=http://freematics.com/forum/index.php]http://freematics.com/forum/index.php[/url] which seems to be just for stanley's hardware and software projects, but it features even less activity than this forum and from the looks of it, its also has "approved posting" because my new thread doesn't show up. orpheus88
2014-05-05 02:58:12 Also did fix it in the code, so new log files are created "correctly".
In datalogger.h Line 244 and 207 replace
[code]sdfile.write(',');[/code] with [code]sdfile.write(' ');[/code]
and in datalogger.ino Line 274 replace
[code]logData(PID_GPS_TIME, gps.date.value(), gps.time.value());[/code] with [code]logData(PID_GPS_TIME,gps.time.value(), gps.date.value());[/code]
To get the data format that the Charting Service recognizes.
Couldn't fix the freezes though, I found out that they have something to do with the GPS timeout in line 266 because if I let him write a message into the log file if the timeout happens thats the last thing that it logs into file, but setting the timeout higher or disabling it doesn't help. because it doesn't fix what causes it to timeout, but I guess those [quote]much more hardware resources[/quote] of the 644PA wouldn't have made it worse. orpheus88
In datalogger.h Line 244 and 207 replace
[code]sdfile.write(',');[/code] with [code]sdfile.write(' ');[/code]
and in datalogger.ino Line 274 replace
[code]logData(PID_GPS_TIME, gps.date.value(), gps.time.value());[/code] with [code]logData(PID_GPS_TIME,gps.time.value(), gps.date.value());[/code]
To get the data format that the Charting Service recognizes.
Couldn't fix the freezes though, I found out that they have something to do with the GPS timeout in line 266 because if I let him write a message into the log file if the timeout happens thats the last thing that it logs into file, but setting the timeout higher or disabling it doesn't help. because it doesn't fix what causes it to timeout, but I guess those [quote]much more hardware resources[/quote] of the 644PA wouldn't have made it worse. orpheus88
2014-05-05 02:58:12 Also did fix it in the code, so new log files are created "correctly".
In datalogger.h Line 244 and 207 replace
[code]sdfile.write(',');[/code] with [code]sdfile.write(' ');[/code]
and in datalogger.ino Line 274 replace
[code]logData(PID_GPS_TIME, gps.date.value(), gps.time.value());[/code] with [code]logData(PID_GPS_TIME,gps.time.value(), gps.date.value());[/code]
To get the data format that the Charting Service recognizes.
Couldn't fix the freezes though, I found out that they have something to do with the GPS timeout in line 266 because if I let him write a message into the log file if the timeout happens thats the last thing that it logs into file, but setting the timeout higher or disabling it doesn't help. because it doesn't fix what causes it to timeout, but I guess those [quote]much more hardware resources[/quote] of the 644PA wouldn't have made it worse. orpheus88
In datalogger.h Line 244 and 207 replace
[code]sdfile.write(',');[/code] with [code]sdfile.write(' ');[/code]
and in datalogger.ino Line 274 replace
[code]logData(PID_GPS_TIME, gps.date.value(), gps.time.value());[/code] with [code]logData(PID_GPS_TIME,gps.time.value(), gps.date.value());[/code]
To get the data format that the Charting Service recognizes.
Couldn't fix the freezes though, I found out that they have something to do with the GPS timeout in line 266 because if I let him write a message into the log file if the timeout happens thats the last thing that it logs into file, but setting the timeout higher or disabling it doesn't help. because it doesn't fix what causes it to timeout, but I guess those [quote]much more hardware resources[/quote] of the 644PA wouldn't have made it worse. orpheus88
2014-05-04 23:05:02 Did more testing, the Line 120 being commented out definitely was the problem, without the "//" its working again, the strangely formated GPS tags were caused by PARSE_GPS_DATA being configured to 0, if you compile it with PARSE_GPS_DATA 1 you get proper F-lines for the GPS, what also came back with GPS and dfrobot enabled again, are the very short runtimes until it stops logging, with 2 minutes 7 seconds being the longest and 15 seconds the shortest so far and I think GPS parsing made it even worse than before.
The resulting files have GPS data in the correct fields but the Charting Service tells me there is no GPS data in my files and just displays the OBD data, data2kml also scrolls through the files, but produces a file that contains no data, just the header from kmlhead.txt.
GPS data from my files and the Sample file looks pretty similar, but for F010 (GPS-Time/Date) the values are in the wrong order also for F010 and F00A (GPS-location) the values need to be separated by a blank space not a comma.
Sample
[code]7,F010,13541300.000000 251013.000000
0,F00D,74
0,F00A,-34.211570 151.010314
0,F00C,17550[/code]
Mine
[code]0,F010,40514,12001250
0,F00A,53.604412,10.116801
0,F00C,18
0,F00D,2.61[/code]
So once again I made a little autoitscript to tidy it up into a form that data2kml and the Charting service accept.
[code]$filein=FileOpen ("DAT00008.CSV",0)
$fileout=FileOpen ("DAT0000813.CSV",1)
$line=FileReadLine ($filein)
While 1
$line=FileReadLine ($filein)
If @error = -1 Then ExitLoop
Switch StringLeft ($line,1)
Case "$"
; MsgBox(0,"",$line)
Case ""
; MsgBox(0,"",$line)
Case Else
$split=StringSplit ( $line, ",")
If $split[2]="F010" Then $line=$split[1]&","&$split[2]&","&$split[4]&" "&$split[3]
If $split[2]="F00A" Then $line=$split[1]&","&$split[2]&","&$split[3]&" "&$split[4]
FileWriteLine ($fileout, $line)
EndSwitch
Wend
[/code]
[url=http://freematics.com/chart/?id=20140504110121_DAT0000813.CSV&user=user&start=53.604713%2C10.117218&pid=10D&pid2=]http://freematics.com/chart/?id=20140504110121_DAT0000813.CSV&user=user&start=53.604713%2C10.117218&pid=10D&pid2=[/url] orpheus88
The resulting files have GPS data in the correct fields but the Charting Service tells me there is no GPS data in my files and just displays the OBD data, data2kml also scrolls through the files, but produces a file that contains no data, just the header from kmlhead.txt.
GPS data from my files and the Sample file looks pretty similar, but for F010 (GPS-Time/Date) the values are in the wrong order also for F010 and F00A (GPS-location) the values need to be separated by a blank space not a comma.
Sample
[code]7,F010,13541300.000000 251013.000000
0,F00D,74
0,F00A,-34.211570 151.010314
0,F00C,17550[/code]
Mine
[code]0,F010,40514,12001250
0,F00A,53.604412,10.116801
0,F00C,18
0,F00D,2.61[/code]
So once again I made a little autoitscript to tidy it up into a form that data2kml and the Charting service accept.
[code]$filein=FileOpen ("DAT00008.CSV",0)
$fileout=FileOpen ("DAT0000813.CSV",1)
$line=FileReadLine ($filein)
While 1
$line=FileReadLine ($filein)
If @error = -1 Then ExitLoop
Switch StringLeft ($line,1)
Case "$"
; MsgBox(0,"",$line)
Case ""
; MsgBox(0,"",$line)
Case Else
$split=StringSplit ( $line, ",")
If $split[2]="F010" Then $line=$split[1]&","&$split[2]&","&$split[4]&" "&$split[3]
If $split[2]="F00A" Then $line=$split[1]&","&$split[2]&","&$split[3]&" "&$split[4]
FileWriteLine ($fileout, $line)
EndSwitch
Wend
[/code]
[url=http://freematics.com/chart/?id=20140504110121_DAT0000813.CSV&user=user&start=53.604713%2C10.117218&pid=10D&pid2=]http://freematics.com/chart/?id=20140504110121_DAT0000813.CSV&user=user&start=53.604713%2C10.117218&pid=10D&pid2=[/url] orpheus88
2014-05-04 23:05:02 Did more testing, the Line 120 being commented out definitely was the problem, without the "//" its working again, the strangely formated GPS tags were caused by PARSE_GPS_DATA being configured to 0, if you compile it with PARSE_GPS_DATA 1 you get proper F-lines for the GPS, what also came back with GPS and dfrobot enabled again, are the very short runtimes until it stops logging, with 2 minutes 7 seconds being the longest and 15 seconds the shortest so far and I think GPS parsing made it even worse than before.
The resulting files have GPS data in the correct fields but the Charting Service tells me there is no GPS data in my files and just displays the OBD data, data2kml also scrolls through the files, but produces a file that contains no data, just the header from kmlhead.txt.
GPS data from my files and the Sample file looks pretty similar, but for F010 (GPS-Time/Date) the values are in the wrong order also for F010 and F00A (GPS-location) the values need to be separated by a blank space not a comma.
Sample
[code]7,F010,13541300.000000 251013.000000
0,F00D,74
0,F00A,-34.211570 151.010314
0,F00C,17550[/code]
Mine
[code]0,F010,40514,12001250
0,F00A,53.604412,10.116801
0,F00C,18
0,F00D,2.61[/code]
So once again I made a little autoitscript to tidy it up into a form that data2kml and the Charting service accept.
[code]$filein=FileOpen ("DAT00008.CSV",0)
$fileout=FileOpen ("DAT0000813.CSV",1)
$line=FileReadLine ($filein)
While 1
$line=FileReadLine ($filein)
If @error = -1 Then ExitLoop
Switch StringLeft ($line,1)
Case "$"
; MsgBox(0,"",$line)
Case ""
; MsgBox(0,"",$line)
Case Else
$split=StringSplit ( $line, ",")
If $split[2]="F010" Then $line=$split[1]&","&$split[2]&","&$split[4]&" "&$split[3]
If $split[2]="F00A" Then $line=$split[1]&","&$split[2]&","&$split[3]&" "&$split[4]
FileWriteLine ($fileout, $line)
EndSwitch
Wend
[/code]
[url=http://freematics.com/chart/?id=20140504110121_DAT0000813.CSV&user=user&start=53.604713%2C10.117218&pid=10D&pid2=]http://freematics.com/chart/?id=20140504110121_DAT0000813.CSV&user=user&start=53.604713%2C10.117218&pid=10D&pid2=[/url] orpheus88
The resulting files have GPS data in the correct fields but the Charting Service tells me there is no GPS data in my files and just displays the OBD data, data2kml also scrolls through the files, but produces a file that contains no data, just the header from kmlhead.txt.
GPS data from my files and the Sample file looks pretty similar, but for F010 (GPS-Time/Date) the values are in the wrong order also for F010 and F00A (GPS-location) the values need to be separated by a blank space not a comma.
Sample
[code]7,F010,13541300.000000 251013.000000
0,F00D,74
0,F00A,-34.211570 151.010314
0,F00C,17550[/code]
Mine
[code]0,F010,40514,12001250
0,F00A,53.604412,10.116801
0,F00C,18
0,F00D,2.61[/code]
So once again I made a little autoitscript to tidy it up into a form that data2kml and the Charting service accept.
[code]$filein=FileOpen ("DAT00008.CSV",0)
$fileout=FileOpen ("DAT0000813.CSV",1)
$line=FileReadLine ($filein)
While 1
$line=FileReadLine ($filein)
If @error = -1 Then ExitLoop
Switch StringLeft ($line,1)
Case "$"
; MsgBox(0,"",$line)
Case ""
; MsgBox(0,"",$line)
Case Else
$split=StringSplit ( $line, ",")
If $split[2]="F010" Then $line=$split[1]&","&$split[2]&","&$split[4]&" "&$split[3]
If $split[2]="F00A" Then $line=$split[1]&","&$split[2]&","&$split[3]&" "&$split[4]
FileWriteLine ($fileout, $line)
EndSwitch
Wend
[/code]
[url=http://freematics.com/chart/?id=20140504110121_DAT0000813.CSV&user=user&start=53.604713%2C10.117218&pid=10D&pid2=]http://freematics.com/chart/?id=20140504110121_DAT0000813.CSV&user=user&start=53.604713%2C10.117218&pid=10D&pid2=[/url] orpheus88
2014-05-04 07:28:25 Mine works now, it seems to be mostly a power problem I wired everything like described in [url=http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/]http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/[/url] except for 5VCC and Ground which I connected to my Arduino Uno thats on a power supply, if you don't have a power supply, try powering the adapter over OBD port, if possible. I still get the [quote]warning: cannot set sck period. please check for usbasp firmware update[/quote] but no errors and the programming was successfull.
I edited the freematics firmware a bit and removed most of the GPS and MPU code, so now it logs just the OBD data, works reliably so far and can be directly used in the freematics charting service. Almost 1h OBD log [url=http://freematics.com/chart/?id=20140503183319_DAT00003.CSV&user=user&start=&pid=10D&pid2=]link[/url]
My version: [url=https://github.com/orpheus88/minilogger/tree/master]https://github.com/orpheus88/minilogger/tree/master[/url]
I think there is also an error in [url=https://github.com/stanleyhuangyc/Freematics/blob/master/firmware_v2/datalogger/datalogger.ino]https://github.com/stanleyhuangyc/Freematics/blob/master/firmware_v2/datalogger/datalogger.ino[/url] Line 120 should not be a comment (if I read that correctly), which I think is why it didn't log when I flashed the original files. orpheus88
I edited the freematics firmware a bit and removed most of the GPS and MPU code, so now it logs just the OBD data, works reliably so far and can be directly used in the freematics charting service. Almost 1h OBD log [url=http://freematics.com/chart/?id=20140503183319_DAT00003.CSV&user=user&start=&pid=10D&pid2=]link[/url]
My version: [url=https://github.com/orpheus88/minilogger/tree/master]https://github.com/orpheus88/minilogger/tree/master[/url]
I think there is also an error in [url=https://github.com/stanleyhuangyc/Freematics/blob/master/firmware_v2/datalogger/datalogger.ino]https://github.com/stanleyhuangyc/Freematics/blob/master/firmware_v2/datalogger/datalogger.ino[/url] Line 120 should not be a comment (if I read that correctly), which I think is why it didn't log when I flashed the original files. orpheus88
2014-05-04 07:28:25 Mine works now, it seems to be mostly a power problem I wired everything like described in [url=http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/]http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/[/url] except for 5VCC and Ground which I connected to my Arduino Uno thats on a power supply, if you don't have a power supply, try powering the adapter over OBD port, if possible. I still get the [quote]warning: cannot set sck period. please check for usbasp firmware update[/quote] but no errors and the programming was successfull.
I edited the freematics firmware a bit and removed most of the GPS and MPU code, so now it logs just the OBD data, works reliably so far and can be directly used in the freematics charting service. Almost 1h OBD log [url=http://freematics.com/chart/?id=20140503183319_DAT00003.CSV&user=user&start=&pid=10D&pid2=]link[/url]
My version: [url=https://github.com/orpheus88/minilogger/tree/master]https://github.com/orpheus88/minilogger/tree/master[/url]
I think there is also an error in [url=https://github.com/stanleyhuangyc/Freematics/blob/master/firmware_v2/datalogger/datalogger.ino]https://github.com/stanleyhuangyc/Freematics/blob/master/firmware_v2/datalogger/datalogger.ino[/url] Line 120 should not be a comment (if I read that correctly), which I think is why it didn't log when I flashed the original files. orpheus88
I edited the freematics firmware a bit and removed most of the GPS and MPU code, so now it logs just the OBD data, works reliably so far and can be directly used in the freematics charting service. Almost 1h OBD log [url=http://freematics.com/chart/?id=20140503183319_DAT00003.CSV&user=user&start=&pid=10D&pid2=]link[/url]
My version: [url=https://github.com/orpheus88/minilogger/tree/master]https://github.com/orpheus88/minilogger/tree/master[/url]
I think there is also an error in [url=https://github.com/stanleyhuangyc/Freematics/blob/master/firmware_v2/datalogger/datalogger.ino]https://github.com/stanleyhuangyc/Freematics/blob/master/firmware_v2/datalogger/datalogger.ino[/url] Line 120 should not be a comment (if I read that correctly), which I think is why it didn't log when I flashed the original files. orpheus88
2014-05-04 06:56:00 I think my hardware is from the same batch as yours: Freematics OBD-II Adapter (V2) and USBasp Programmer from the Freematics store. After downloading and compiling the latest firmware from github, when I select File->upload using programmer, I get the following message:
Binary sketch size: 31,874 bytes (of a 32,256 byte maximum)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
I believe this means that the programmer is unable to communicate with the OBD-II adapter. I believe that because the wiring instructions here ([url=http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/]http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/[/url]) are incorrect. I know this because when I wired the board based on the schematic J2 pinouts ([url=http://arduinodev.com/dl/Freematics_OBD_Schematic.pdf]http://arduinodev.com/dl/Freematics_OBD_Schematic.pdf[/url]) the OBD-II was able to be powered over USB and the LEDs responsed.
Although I do not have a solution yet, executing avrdude from the command line (>avrdude -C avrdude.conf -c usbasp -p m328p -e -v) resulted in a more detailed output than the Arduino IDE. I will add the full dump at the end in hope that this provides insight to my problem. There error, however, is this:
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
I believe my problem is still that I have incorrectly wired from USBasp to OBD-II adapter.
My pinout is as follows
USBasp 1 to OBD2 5
USBasp 2 to OBD2 6
USBasp 5 to OBD2 1
USBasp 7 to OBD2 3
USBasp 9 to OBD2 2
USBasp 10 to OBD2 4
If my problem is obvious to anyone, I would appreciate your assistance.
Here the is full output from AVRDUDE:
>avrdude -C avrdude.conf -c usbasp -p m328p -e -v
avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, [url=http://www.bdmicro.com/]http://www.bdmicro.com/[/url]
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "avrdude.conf"
Using Port : lpt1
Using Programmer : usbasp
AVR Part : ATMEGA328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 36
00 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0
0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0
0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, [url=http://www.fischl.de/usbasp/]http://www.fischl.de/usbasp/[/url]
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
BradL
Binary sketch size: 31,874 bytes (of a 32,256 byte maximum)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
I believe this means that the programmer is unable to communicate with the OBD-II adapter. I believe that because the wiring instructions here ([url=http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/]http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/[/url]) are incorrect. I know this because when I wired the board based on the schematic J2 pinouts ([url=http://arduinodev.com/dl/Freematics_OBD_Schematic.pdf]http://arduinodev.com/dl/Freematics_OBD_Schematic.pdf[/url]) the OBD-II was able to be powered over USB and the LEDs responsed.
Although I do not have a solution yet, executing avrdude from the command line (>avrdude -C avrdude.conf -c usbasp -p m328p -e -v) resulted in a more detailed output than the Arduino IDE. I will add the full dump at the end in hope that this provides insight to my problem. There error, however, is this:
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
I believe my problem is still that I have incorrectly wired from USBasp to OBD-II adapter.
My pinout is as follows
USBasp 1 to OBD2 5
USBasp 2 to OBD2 6
USBasp 5 to OBD2 1
USBasp 7 to OBD2 3
USBasp 9 to OBD2 2
USBasp 10 to OBD2 4
If my problem is obvious to anyone, I would appreciate your assistance.
Here the is full output from AVRDUDE:
>avrdude -C avrdude.conf -c usbasp -p m328p -e -v
avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, [url=http://www.bdmicro.com/]http://www.bdmicro.com/[/url]
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "avrdude.conf"
Using Port : lpt1
Using Programmer : usbasp
AVR Part : ATMEGA328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 36
00 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0
0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0
0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, [url=http://www.fischl.de/usbasp/]http://www.fischl.de/usbasp/[/url]
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
BradL
2014-05-04 06:56:00 I think my hardware is from the same batch as yours: Freematics OBD-II Adapter (V2) and USBasp Programmer from the Freematics store. After downloading and compiling the latest firmware from github, when I select File->upload using programmer, I get the following message:
Binary sketch size: 31,874 bytes (of a 32,256 byte maximum)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
I believe this means that the programmer is unable to communicate with the OBD-II adapter. I believe that because the wiring instructions here ([url=http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/]http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/[/url]) are incorrect. I know this because when I wired the board based on the schematic J2 pinouts ([url=http://arduinodev.com/dl/Freematics_OBD_Schematic.pdf]http://arduinodev.com/dl/Freematics_OBD_Schematic.pdf[/url]) the OBD-II was able to be powered over USB and the LEDs responsed.
Although I do not have a solution yet, executing avrdude from the command line (>avrdude -C avrdude.conf -c usbasp -p m328p -e -v) resulted in a more detailed output than the Arduino IDE. I will add the full dump at the end in hope that this provides insight to my problem. There error, however, is this:
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
I believe my problem is still that I have incorrectly wired from USBasp to OBD-II adapter.
My pinout is as follows
USBasp 1 to OBD2 5
USBasp 2 to OBD2 6
USBasp 5 to OBD2 1
USBasp 7 to OBD2 3
USBasp 9 to OBD2 2
USBasp 10 to OBD2 4
If my problem is obvious to anyone, I would appreciate your assistance.
Here the is full output from AVRDUDE:
>avrdude -C avrdude.conf -c usbasp -p m328p -e -v
avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, [url=http://www.bdmicro.com/]http://www.bdmicro.com/[/url]
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "avrdude.conf"
Using Port : lpt1
Using Programmer : usbasp
AVR Part : ATMEGA328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 36
00 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0
0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0
0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, [url=http://www.fischl.de/usbasp/]http://www.fischl.de/usbasp/[/url]
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
BradL
Binary sketch size: 31,874 bytes (of a 32,256 byte maximum)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
I believe this means that the programmer is unable to communicate with the OBD-II adapter. I believe that because the wiring instructions here ([url=http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/]http://arduinodev.com/programming-guide-for-freematics-obd-ii-adapter-v2/[/url]) are incorrect. I know this because when I wired the board based on the schematic J2 pinouts ([url=http://arduinodev.com/dl/Freematics_OBD_Schematic.pdf]http://arduinodev.com/dl/Freematics_OBD_Schematic.pdf[/url]) the OBD-II was able to be powered over USB and the LEDs responsed.
Although I do not have a solution yet, executing avrdude from the command line (>avrdude -C avrdude.conf -c usbasp -p m328p -e -v) resulted in a more detailed output than the Arduino IDE. I will add the full dump at the end in hope that this provides insight to my problem. There error, however, is this:
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
I believe my problem is still that I have incorrectly wired from USBasp to OBD-II adapter.
My pinout is as follows
USBasp 1 to OBD2 5
USBasp 2 to OBD2 6
USBasp 5 to OBD2 1
USBasp 7 to OBD2 3
USBasp 9 to OBD2 2
USBasp 10 to OBD2 4
If my problem is obvious to anyone, I would appreciate your assistance.
Here the is full output from AVRDUDE:
>avrdude -C avrdude.conf -c usbasp -p m328p -e -v
avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, [url=http://www.bdmicro.com/]http://www.bdmicro.com/[/url]
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "avrdude.conf"
Using Port : lpt1
Using Programmer : usbasp
AVR Part : ATMEGA328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 36
00 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0
0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0
0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, [url=http://www.fischl.de/usbasp/]http://www.fischl.de/usbasp/[/url]
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
BradL
2014-05-04 03:27:47 Since I can't record new log files I tried some stuff with the old ones, if the $GPsomething lines and the following empty line is removed, it can be processed with the Charting service.
And because deleting tons of $GPXXX and empty lines by hand is boring I made an autoitscript to do it for me.
[code]$filein=FileOpen ("DAT00002.CSV",0)
$fileout=FileOpen ("DAT0000212.CSV",1)
$line=FileReadLine ($filein)
While 1
;$line=FileReadLine ($filein)
If @error = -1 Then ExitLoop
Switch StringLeft ($line,1)
Case "$"
; MsgBox(0,"",$line)
Case ""
; MsgBox(0,"",$line)
Case Else
FileWriteLine ($fileout, $line)
EndSwitch
Wend[/code]
Result:
[url=http://freematics.com/chart/?id=20140503152119_DAT0000212.CSV&user=user]http://freematics.com/chart/?id=20140503152119_DAT0000212.CSV&user=user[/url] orpheus88
And because deleting tons of $GPXXX and empty lines by hand is boring I made an autoitscript to do it for me.
[code]$filein=FileOpen ("DAT00002.CSV",0)
$fileout=FileOpen ("DAT0000212.CSV",1)
$line=FileReadLine ($filein)
While 1
;$line=FileReadLine ($filein)
If @error = -1 Then ExitLoop
Switch StringLeft ($line,1)
Case "$"
; MsgBox(0,"",$line)
Case ""
; MsgBox(0,"",$line)
Case Else
FileWriteLine ($fileout, $line)
EndSwitch
Wend[/code]
Result:
[url=http://freematics.com/chart/?id=20140503152119_DAT0000212.CSV&user=user]http://freematics.com/chart/?id=20140503152119_DAT0000212.CSV&user=user[/url] orpheus88
2014-05-04 03:27:47 Since I can't record new log files I tried some stuff with the old ones, if the $GPsomething lines and the following empty line is removed, it can be processed with the Charting service.
And because deleting tons of $GPXXX and empty lines by hand is boring I made an autoitscript to do it for me.
[code]$filein=FileOpen ("DAT00002.CSV",0)
$fileout=FileOpen ("DAT0000212.CSV",1)
$line=FileReadLine ($filein)
While 1
;$line=FileReadLine ($filein)
If @error = -1 Then ExitLoop
Switch StringLeft ($line,1)
Case "$"
; MsgBox(0,"",$line)
Case ""
; MsgBox(0,"",$line)
Case Else
FileWriteLine ($fileout, $line)
EndSwitch
Wend[/code]
Result:
[url=http://freematics.com/chart/?id=20140503152119_DAT0000212.CSV&user=user]http://freematics.com/chart/?id=20140503152119_DAT0000212.CSV&user=user[/url] orpheus88
And because deleting tons of $GPXXX and empty lines by hand is boring I made an autoitscript to do it for me.
[code]$filein=FileOpen ("DAT00002.CSV",0)
$fileout=FileOpen ("DAT0000212.CSV",1)
$line=FileReadLine ($filein)
While 1
;$line=FileReadLine ($filein)
If @error = -1 Then ExitLoop
Switch StringLeft ($line,1)
Case "$"
; MsgBox(0,"",$line)
Case ""
; MsgBox(0,"",$line)
Case Else
FileWriteLine ($fileout, $line)
EndSwitch
Wend[/code]
Result:
[url=http://freematics.com/chart/?id=20140503152119_DAT0000212.CSV&user=user]http://freematics.com/chart/?id=20140503152119_DAT0000212.CSV&user=user[/url] orpheus88
2014-05-04 01:47:31 Today I bought an Arduino Uno and some other stuff to run it, at a local electronics store, I tried programming with Arduino ISP, which seems to work and when connecting just VCC and Ground to the uno and the rest to USBasp even programming with USBasp seems to work, but I couldn't find any poperly working sketch, the elm327emu can't be used with Torque and even the stock sketch doesn't seem to work anymore, it get blue LED flashing every couple seconds but its not logging anything anymore. orpheus88
2014-05-04 01:47:31 Today I bought an Arduino Uno and some other stuff to run it, at a local electronics store, I tried programming with Arduino ISP, which seems to work and when connecting just VCC and Ground to the uno and the rest to USBasp even programming with USBasp seems to work, but I couldn't find any poperly working sketch, the elm327emu can't be used with Torque and even the stock sketch doesn't seem to work anymore, it get blue LED flashing every couple seconds but its not logging anything anymore. orpheus88
2014-05-03 16:03:02 Got my adapter yesterday, but the logging doesn't work reliably, it stops after about 2minutes of recording (according to LED flashing) and will not resume until I replug it and the data seems to have incorrectly formated GPS values so neither data2kml nor the charting service can use it.
I get F020/10C and occaisonally 10B/10D/10E like in the sample from data2kml.
But no other F-values instead I have $GPGGA/$GPRMC/$GPVTG that after some time seem to contain GPS locations.
But my main proplem is the usbasp I got with my order, I have installed the fischl drivers, but avrdude always complains "avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update." sometimes it gives more information like target not responding and stuff like that. Also the Arduino Builder seems to use 644p when build target is Freematics, but its a 328p.
Please help, I'am lost with that stuff.
Amother (less important since I can't program it anyways) problem are the I2C cables that came with it, they don't fit into the female plug on the 2.2" LCD shield, I think if I plug the 5V/Grd plug in the I2C slot and the white yellow plug onto the SDA/SCL pin headers it might still work but I found no documentation about which cable color belongs to which pin. orpheus88
I get F020/10C and occaisonally 10B/10D/10E like in the sample from data2kml.
But no other F-values instead I have $GPGGA/$GPRMC/$GPVTG that after some time seem to contain GPS locations.
But my main proplem is the usbasp I got with my order, I have installed the fischl drivers, but avrdude always complains "avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update." sometimes it gives more information like target not responding and stuff like that. Also the Arduino Builder seems to use 644p when build target is Freematics, but its a 328p.
Please help, I'am lost with that stuff.
Amother (less important since I can't program it anyways) problem are the I2C cables that came with it, they don't fit into the female plug on the 2.2" LCD shield, I think if I plug the 5V/Grd plug in the I2C slot and the white yellow plug onto the SDA/SCL pin headers it might still work but I found no documentation about which cable color belongs to which pin. orpheus88