From 5df9421eb28836e72d112da635fdabbc59ad7185 Mon Sep 17 00:00:00 2001 From: Attila Veghelyi Date: Tue, 30 Jan 2024 19:24:17 +0100 Subject: Follow version 0.12.2 --- Makefile | 61 ---------------------------------------------------------- Makefile_opgui | 2 +- deviceRW.c | 2 ++ op.c | 3 ++- opgui.c | 50 ++++++++++++++++++++++++++++++++++------------- opgui.glade | 4 ++++ progP16.c | 6 +++--- progP18.c | 4 ++-- readme | 4 +++- strings.c | 12 +++++++++--- strings.h | 4 +++- 11 files changed, 66 insertions(+), 86 deletions(-) delete mode 100644 Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index 2abc748..0000000 --- a/Makefile +++ /dev/null @@ -1,61 +0,0 @@ -OP_PROGRAM := op -OPGUI_PROGRAM := opgui - -VERSION = 0.12.1 - -CFLAGS := '-DVERSION="$(VERSION)"' -CFLAGS += -Os -s #size -CFLAGSGUI := -DOPGUI `pkg-config --cflags gtk+-3.0` - -OBJECTS := \ - progP12.o \ - progP16.o \ - progP18.o \ - progP24.o \ - progEEPROM.o \ - progAVR.o \ - fileIO.o \ - deviceRW.o \ - I2CSPI.o \ - strings.o \ - -OP_OBJ := \ - op.o \ - -OPGUI_OBJ := \ - opgui.o \ - coff.o \ - icd.o \ - resources.o \ - -LDFLAGS := -lrt -LDFLAGSGTK := `pkg-config --libs gtk+-3.0` - -all: $(OP_PROGRAM) $(OPGUI_PROGRAM) - -# https://stackoverflow.com/a/1305879 - -$(OPGUI_PROGRAM): EXTRA_FLAGS := $(CFLAGSGUI) - -%.o: %.c - @echo "\tCC $@" - $(CC) $(CFLAGS) $(EXTRA_FLAGS) -c $^ -o $@ - -resources.c: resources.xml opgui.glade - @glib-compile-resources resources.xml --target=resources.c --generate-source - -$(OPGUI_PROGRAM): $(OBJECTS) $(OPGUI_OBJ) - @echo "\tLD $@" - $(CC) $^ -o $@ $(LDFLAGS) $(LDFLAGSGTK) - @rm -f *.o resources.c - -$(OP_PROGRAM): $(OBJECTS) $(OP_OBJ) - @echo "\tLD $@" - $(CC) $^ -o $@ $(LDFLAGS) - @rm -f *.o - -clean: - @echo "\tCLEAN .o" - @rm -f *.o - -.PHONY: all clean diff --git a/Makefile_opgui b/Makefile_opgui index 7ac6624..bdde783 100644 --- a/Makefile_opgui +++ b/Makefile_opgui @@ -1,5 +1,5 @@ # equivalent to #define in c code -VERSION = 0.12.1 +VERSION = 0.12.2 CC = gcc PREFIX = /usr/local diff --git a/deviceRW.c b/deviceRW.c index 127a7b6..aed1384 100644 --- a/deviceRW.c +++ b/deviceRW.c @@ -1201,6 +1201,8 @@ void populateDevInfo(struct DevInfo *info, const struct DEVICES *devlistEntry) { if(info->size<1024) sprintf(str2,"%s, %dB",strings[I_UNIOMEM],info->size); //UNI/O Memory else sprintf(str2,"%s, %sKB",strings[I_UNIOMEM],strF); break; + default: + sprintf(str2,"!!unknown family!!"); } if(info->HV>0){ sprintf(str3,", %.1fV",info->HV); diff --git a/op.c b/op.c index bc28543..8c39cec 100644 --- a/op.c +++ b/op.c @@ -349,6 +349,7 @@ int main (int argc, char **argv) { strncpy(LogFileName,strings[S_LogFile],sizeof(LogFileName)); if(argc==1){ + printf("OP v%s\n",VERSION); printf(strings[L_HELP]); exit(1); } @@ -361,7 +362,7 @@ int main (int argc, char **argv) { if(langfile) GenerateLangFile(langid,"languages.rc"); if (ver){ - printf("OP v%s\nCopyright (C) Alberto Maccioni 2009-2022\ + printf("OP v%s\nCopyright (C) Alberto Maccioni 2009-2023\ \n For detailed info see http://openprog.altervista.org/\ \nThis program is free software; you can redistribute it and/or modify it under \ the terms of the GNU General Public License as published by the Free Software \ diff --git a/opgui.c b/opgui.c index 8340808..a6c550e 100644 --- a/opgui.c +++ b/opgui.c @@ -252,7 +252,7 @@ void info(GtkWidget *widget,GtkWidget *window) //"authors","Alberto Maccioni",NULL, "comments", "A graphical interface for the Open Programmer", "copyright", - "Copyright (C) Alberto Maccioni 2009-2022\n\n" + "Copyright (C) Alberto Maccioni 2009-2023\n\n" "This program is free software; you can \n" "redistribute it and/or modify it under \n" "the terms of the GNU General Public License \n" @@ -649,8 +649,6 @@ void WriteATfuseLowLF(GtkWidget *widget,GtkWidget *window){ void onDevSel_Changed(GtkWidget *widget,GtkWidget *window) { struct DevInfo info; - char str2[256],str3[64],strF[32]; - double x; GetSelectedDevice(); if (strlen(dev) == 0) return; // None selected info=GetDevInfo(dev); @@ -764,6 +762,16 @@ int sortIterCompareFunc(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpo } return ret; } + + +#ifndef strupr +char* strupr( char* s ){ + char* p = s; + while (*p = toupper( *p )) p++; + return s; +} +#endif + /// ///Add devices to the device ListStore (which may not have been created) ///groupFilter: add devices in this group (-1 for all) @@ -790,6 +798,8 @@ void AddDevices(enum group_t groupFilter, const char *textFilter) { else gtk_list_store_clear(devStore); int i,j=0; char *devices=0,*tok; + char textFilterU[32]; + strupr(strncpy(textFilterU,textFilter,32)); for(i=0;i E3=1 + return i?0:1; //S1 open -> E3=1 (active low) + } } /// ///Execute hardware test @@ -1679,7 +1702,6 @@ void PacketIO(double delay){ int main( int argc, char *argv[]) { //int langID=GetUserDefaultLangID(); - DWORD t0=GetTickCount(); FILE *f; gchar *homedir,*config_dir,*fname=0; char lang[32]=""; @@ -1724,7 +1746,6 @@ int main( int argc, char *argv[]) opterr = 0; int option_index = 0; int help=0,command=0,i,j; - char c; struct option long_options[] = { {"?", no_argument, &help, 1}, @@ -1747,7 +1768,7 @@ int main( int argc, char *argv[]) char* langid=0; i=0; if(lang[0]){ //explicit language selection - if(lang[0]=='i'&&langid[1]=='t'){ //built-in + if(lang[0]=='i'&&lang[1]=='t'){ //built-in strings=strings_it; i=1; } @@ -1852,7 +1873,8 @@ int main( int argc, char *argv[]) dataBuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(data)); //------device tab------------- gtk_label_set_text(GTK_LABEL(GTK_WIDGET(gtk_builder_get_object(builder,"DEVICE_L"))),strings[I_Dev]); //"Device" - gtk_label_set_text(GTK_LABEL(GTK_WIDGET(gtk_builder_get_object(builder,"TYPE_L"))),strings[I_Type]); //"Type" + gtk_label_set_text(GTK_LABEL(GTK_WIDGET(gtk_builder_get_object(builder,"TYPE_L"))),strings[I_TypeFilt]); //"Filter by type" + gtk_label_set_text(GTK_LABEL(GTK_WIDGET(gtk_builder_get_object(builder,"DEV_SRC_L"))),strings[I_Filt]); //"Filter" devTypeCombo=GTK_WIDGET(gtk_builder_get_object(builder,"TYPE_C")); g_signal_connect(G_OBJECT(devTypeCombo),"changed",G_CALLBACK(FilterDevType),NULL); devFiltEntry=GTK_WIDGET(gtk_builder_get_object(builder,"DEV_SRC_E")); @@ -1861,7 +1883,9 @@ int main( int argc, char *argv[]) gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(devTree), -1, strings[I_Dev], gtk_cell_renderer_text_new(), "text", DEVICE_NAME_COLUMN, NULL); gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(devTree), - -1, strings[I_Type], gtk_cell_renderer_text_new(), "text", DEVICE_GROUP_COLUMN, NULL); + -1, strings[I_Type], gtk_cell_renderer_text_new(), "text", DEVICE_GROUP_COLUMN, NULL); //"Type" + gtk_tree_view_column_set_fixed_width(gtk_tree_view_get_column(GTK_TREE_VIEW(devTree),0),125); + gtk_tree_view_column_set_fixed_width(gtk_tree_view_get_column(GTK_TREE_VIEW(devTree),1),125); // AddDevices() gets called when an entry in devTypeCombo is selected during init devFrame = GTK_WIDGET(gtk_builder_get_object(builder,"DEVICE_NAME")); devinfo = GTK_WIDGET(gtk_builder_get_object(builder,"DEV_INFO")); @@ -2291,7 +2315,7 @@ int FindDevice(int vid,int pid){ typedef BOOLEAN (__stdcall*SETREPORT) (IN HANDLE HidDeviceObject, IN PVOID ReportBuffer, IN ULONG ReportBufferLength); typedef BOOLEAN (__stdcall*GETMANUFACTURERSTRING) (IN HANDLE HidDeviceObject, OUT PVOID ReportBuffer, IN ULONG ReportBufferLength); typedef BOOLEAN (__stdcall*GETPRODUCTSTRING) (IN HANDLE HidDeviceObject, OUT PVOID ReportBuffer, IN ULONG ReportBufferLength); - typedef BOOLEAN (__stdcall*GETINDEXEDSTRING) (IN HANDLE HidDeviceObject, IN ULONG StringIndex, OUT PVOID ReportBuffer, IN ULONG ReportBufferLength); +// typedef BOOLEAN (__stdcall*GETINDEXEDSTRING) (IN HANDLE HidDeviceObject, IN ULONG StringIndex, OUT PVOID ReportBuffer, IN ULONG ReportBufferLength); HIDD_ATTRIBUTES Attributes; SP_DEVICE_INTERFACE_DATA devInfoData; int LastDevice = FALSE; diff --git a/opgui.glade b/opgui.glade index 60b9c1a..194e5ac 100644 --- a/opgui.glade +++ b/opgui.glade @@ -228,6 +228,7 @@ 5 + 250 True False vertical @@ -240,6 +241,7 @@ True False + 3 _tipo @@ -270,10 +272,12 @@ True False + 5 True False + 3 label diff --git a/progP16.c b/progP16.c index 3871494..54d6727 100644 --- a/progP16.c +++ b/progP16.c @@ -1,6 +1,6 @@ /** * \file progP16.c - algorithms to program the PIC16 (14 bit word) family of microcontrollers - * Copyright (C) 2009-2022 Alberto Maccioni + * Copyright (C) 2009-2023 Alberto Maccioni * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -1146,7 +1146,7 @@ void Read16F18xxx(int dim,int dim2,int dim3,int options) PrintMessage(strings[S_noV33reg]); //Can't find 3.3V expansion board return; } - char s[256],t[256],*aux; + char s[256],t[256]; if(dim>0x8000||dim<0){ PrintMessage(strings[S_CodeLim]); //"Code size exceeds limits\r\n" return; @@ -6280,7 +6280,7 @@ void Write16F18xxx(int dim,int dim2,int options) PrintStatusSetup(); if(saveLog) fprintf(logfile,"%s\n",strings[S_StartCodeProg]); fflush(logfile); - int valid,inc; + int valid; for(;dim>0&&memCODE_W[dim-1]>=0x3fff;dim--); //skip empty space at end if(dim%rowN) dim+=rowN-dim%rowN; //grow to 32 word multiple for(i=k=0,j=0;i