Because the linux x64 machine which i'm using right now seems to be not so reliable at timings I decided to reimplement Opgui (v0.10.0) in a OOP manner and with
read/write fail recovery.
I modified the firmware in which i added a very simple checksum for each read operation in order to validate the read data (the OProg.X.production.hex from Firmware folder is the compiled version)
So far i added the following functionality (just for linux):
- Programmer detection & hardware test
- Read/write for 16F628A (Read16Fxxx & Write12F6xx functions)
- Read/write for ATmega8/168/328 (ReadAT & WriteATmega functions)
- Read/write for ATtiny13 (ReadAT_HV & WriteAT_HV functions). I implemented only this functions because this controllers i had on hand and it was easy to verify the correct operations.
- Load/save of intel hex files (including eeprom) for this microcontrollers
- Utility tab - fullly functional
- IO tab - fully functional
- I2C/SPI tab - fully functional but untested
- 3.3V regulator check but untested as i don't have yet an 3.3v addon board
- An additional functionality of verify/compare data from chip with the data from a file
The project contains both Opgui and OP applications so there is no additional time spent developing 2 programs :)
Hi pixec
here are the errors:
/home/giuseppe/u-pixecs-openprogrammer/src/AbstractLogger.cpp: In member function ‘void AbstractLogger::MessageBox(const char, const char)’:
/home/giuseppe/u-pixecs-openprogrammer/src/AbstractLogger.cpp:63:142: warning: format not a string literal and no format arguments [-Wformat-security]
GtkWidget dialog = gtk_message_dialog_new(GTK_WINDOW(mainWindow), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, message);
^
/home/giuseppe/u-pixecs-openprogrammer/src/AbstractLogger.cpp: In member function ‘bool AbstractLogger::ConfirmBox(const char, const char)’:
/home/giuseppe/u-pixecs-openprogrammer/src/AbstractLogger.cpp:78:150: warning: format not a string literal and no format arguments [-Wformat-security]
GtkWidget dialog = gtk_message_dialog_new(GTK_WINDOW(mainWindow), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, message);
when executing program if you change eg. microprocessor it stop.
thanks
joe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Joe, i updated the sources to fix the error. It seems that my compiler is a little outdated. Please do a git fetch or redownload the latest sources and let me know if is working ok for you too.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi pixecs
another error: [ 4%] Building CXX object CMakeFiles/OpGui.dir/src/Gui.cpp.o
/home/giuseppe/u-pixecs-openprogrammer/src/Gui.cpp: In member function ‘void Gui::SaveHex(GtkWidget, GtkWidget)’:
/home/giuseppe/u-pixecs-openprogrammer/src/Gui.cpp:1461:44: warning: format not a string literal and no format arguments [-Wformat-security]
fprintf(fd, gtk_entry_get_text(Hex_data2));
^
when you execute the OpGui and you wanto to change micro crash again
Regards
Joe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Joe, i fixed the crash and the remaining warning. The crash appeared because i mismatched the buttons callback params and my gtk library happily run the program with no crash ever, but once i tried in a CentOs VM the crash was there. Thank you for bug reports. Please do a git fetch or redownload the latest sources and let me know if is working for you too.
Pixecs
Last edit: pixecs 2016-09-09
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello, I did try to use it but it keeps re-trying to connecting like that :
(ERROR) Error reading programmer info... retrying...
(ERROR) Can't read programmer info!
Firmware version 0.10.0 (32.82.83), Hardware ID: 0.0.1 (18F2550)
original opgui works OK though it sometimes cannot read chip or writes with errors (usually trying few times fixes it)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Because the linux x64 machine which i'm using right now seems to be not so reliable at timings I decided to reimplement Opgui (v0.10.0) in a OOP manner and with
read/write fail recovery.
I modified the firmware in which i added a very simple checksum for each read operation in order to validate the read data (the OProg.X.production.hex from Firmware folder is the compiled version)
So far i added the following functionality (just for linux):
- Programmer detection & hardware test
- Read/write for 16F628A (Read16Fxxx & Write12F6xx functions)
- Read/write for ATmega8/168/328 (ReadAT & WriteATmega functions)
- Read/write for ATtiny13 (ReadAT_HV & WriteAT_HV functions). I implemented only this functions because this controllers i had on hand and it was easy to verify the correct operations.
- Load/save of intel hex files (including eeprom) for this microcontrollers
- Utility tab - fullly functional
- IO tab - fully functional
- I2C/SPI tab - fully functional but untested
- 3.3V regulator check but untested as i don't have yet an 3.3v addon board
- An additional functionality of verify/compare data from chip with the data from a file
The project contains both Opgui and OP applications so there is no additional time spent developing 2 programs :)
The source is available as fork of Opgui at https://sourceforge.net/u/pixecs/openprogrammer/ci/master/tree/
Can you post a picture of your GUI?
Hello, basically is the same interface as Opgui with an additional button for verify. Also the TUI simulates the alert & confirm boxes from GUI.
Hello,
I added support for PIC16F54 (10F200, 10F202, 10F204, 10F206, 10F220, 10F222, 12F508, 12F509, 12F510, 12F519, 12F529T39, 12F529T48, 16F57, 16F59, 16F505, 16F506, 16F526, 16F527, 16F570 should work too)
The complete list of supported devices:
Hello,
I added support for 18F24J10 & 18F2550.
The complete list of supported devices:
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
please,can you add rev1.8 pdf schematic pcb and sil socket adaptor so that it will be less confusin
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Hi
the gui is only for linux?
Thx
yes, for now. i'm working on BSD port and at a later date for a windows port
Hi
i try to compile but gives errors :
can i post those errors to understand the cause?
THX
Joe
yes, please.
Hi pixec
here are the errors:
/home/giuseppe/u-pixecs-openprogrammer/src/AbstractLogger.cpp: In member function ‘void AbstractLogger::MessageBox(const char, const char)’:
/home/giuseppe/u-pixecs-openprogrammer/src/AbstractLogger.cpp:63:142: warning: format not a string literal and no format arguments [-Wformat-security]
GtkWidget dialog = gtk_message_dialog_new(GTK_WINDOW(mainWindow), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, message);
^
/home/giuseppe/u-pixecs-openprogrammer/src/AbstractLogger.cpp: In member function ‘bool AbstractLogger::ConfirmBox(const char, const char)’:
/home/giuseppe/u-pixecs-openprogrammer/src/AbstractLogger.cpp:78:150: warning: format not a string literal and no format arguments [-Wformat-security]
GtkWidget dialog = gtk_message_dialog_new(GTK_WINDOW(mainWindow), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, message);
when executing program if you change eg. microprocessor it stop.
thanks
joe
Hi
the program crash
Joe
Hi Joe, i updated the sources to fix the error. It seems that my compiler is a little outdated. Please do a git fetch or redownload the latest sources and let me know if is working ok for you too.
Hi pixecs
another error:
[ 4%] Building CXX object CMakeFiles/OpGui.dir/src/Gui.cpp.o
/home/giuseppe/u-pixecs-openprogrammer/src/Gui.cpp: In member function ‘void Gui::SaveHex(GtkWidget, GtkWidget)’:
/home/giuseppe/u-pixecs-openprogrammer/src/Gui.cpp:1461:44: warning: format not a string literal and no format arguments [-Wformat-security]
fprintf(fd, gtk_entry_get_text(Hex_data2));
^
when you execute the OpGui and you wanto to change micro crash again
Regards
Joe
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Hi Joe, i fixed the crash and the remaining warning. The crash appeared because i mismatched the buttons callback params and my gtk library happily run the program with no crash ever, but once i tried in a CentOs VM the crash was there. Thank you for bug reports. Please do a git fetch or redownload the latest sources and let me know if is working for you too.
Pixecs
Last edit: pixecs 2016-09-09
Hello,
I added (initial & complete) support for FreeBSD - other BSD should work too.
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Hello, I did try to use it but it keeps re-trying to connecting like that :
(ERROR) Error reading programmer info... retrying...
(ERROR) Can't read programmer info!
Firmware version 0.10.0 (32.82.83), Hardware ID: 0.0.1 (18F2550)
original opgui works OK though it sometimes cannot read chip or writes with errors (usually trying few times fixes it)