OP: programma di controllo per open programmer, 
programmatore USB per microcontrollori PIC, ATMEL, memorie I2C/SPI/MicroWire, dispositivi I2C e SPI.
Sito web: http://openprog.altervista.org
Questi sorgenti sono distribuiti gratuitamente sotto licenza GNU General Public License versione 2 

Cambiamenti (per usare i dispositivi aggiunti  richiesto un programmatore con firmware corrispondente):
V 0.11.3 aprile  2021:  corretta scrittura EEPROM su 16F184xx/188xx/191xx

V 0.11.2 ottobre 2020: 	corretta scrittura 16F18xxx con spazio vuoto all'indirizzo 0;
						aggiunti 18F25-26-27-45-46-47-55-56-57Q43,
						18F25-26-27-45-46-47-55-56-57K42, 18F25-26K83;
						[linux] cambiato percorso di accesso all'HW in /dev/hidraw 

V 0.11.1 febbraio 2020: corretto salvataggio file con 12F1XXX; 
						corretto timeout in scrittura config con 16F18XXX; 
						evita di leggere DIA-DCI con 16F188XX;
						corretta verifica EE 0x22 con 18FXXX

V 0.11.0 gennaio 2019:  aggiunti 16F15313-23-24-25-44-45-54-55-56-75-76-85-86,
						16F18424-25-26-44-45-46-54-55-56,
						16F18854-55-56-57-75-76-77,
						16F19155-56-75-76-85-86-95-96-97

V 0.10.1 dicembre 2018: aggiunti 16F1764-65-68-69-73-76-77-78-79;
						rimosse funzioni MSVC6

V 0.10.0 giugno 2016:  	aggiunti 16F18313-23-24-25-26-44-45-46;
						migliorata comunicazione USB

V 0.9.1.2 giugno 2015 	corretto baco scrittura logfile

V 0.9.1.1 dicembre 2014:corretti errori di compilazione su Linux;

V 0.9.1 novembre 2014:	vari miglioramenti all'interfaccia utente;
						corretta verifica ATTiny11-12; corretta scrittura 24FJ128GA3xx-GB2xx-GCxx-DAxx;
						aggiunti: forza configurazione per PIC18, test hardware linee IO,
						velocit SPI automatica per AVR, scrivi AVR Fuse Low @ 3kHz;
						verifica veloce per memorie FLASH SPI;
						aggiunti 10F320-22,12F529T39A,12F752,12F1612-13-14-15-18-19,
						16F1512-13,16F1574-75-78-79,16F1703-04-05-07-08-09-13-16-17-18-19,
						16F1788-89,16F570,16LF1554-59,
						18F24K50-25K50-26K50-45K50-46K50,
						18F25K80-26K80-45K80-46K80-65K80-66K80,
						18F63J11-90,18F64J11-90,18F65J10-11-15-50-90,
						18F66J10-11-15-16-50-55-90-93,18F67J10-11-50-90-93,
						18F83J11-90,18F84J11-90,18F85J10-11-15-50-90,
						18F86J10-11-15-16-50-55-90-93,18F87J10-11-50-72-90-93,
						25X128,25Q40

V 0.9.0 marzo 2014:		Write16F72x richiede solo la config-word1;
						aggiunto HV serial programming per ATtiny11-12-13-24-25-44-45-84-85;
						aggiunti 24FJ64GA3xx-GCxx,24FJ128GA3xx-GB2xx-GCxx-DAxx,24FJ256DAxx,24EPx,33EPx;
						aggiunti 95xx SPI EEPROM,25X05 FLASH;
						aggiunti 12F1571-72,16F527,16F753,16F1454-55-59;
						modifiche varie al codice
						
V 0.8.1 giugno 2013:	inizio programmazione con S1; selezione velocit I2C/SPI; opzione -command;
						supporto multi-lingue; pu forzare config word; pu evitare controllo LV;
						corretta scrittura EEPROM quando  attiva la protezione codice/dati per 16F83-84,
						12F629,12F675,16F627-28,16F630,16F676,16F870-1-2,16F873-74,16F876-77;
						corretta lettura file > 1MB;
						modificata entrata prog mode AVR
						scrittura 93Sx6 protette

V 0.8.0 giugno 2012:	supporto bus one-wire e memorie DS2430,DS2431,DS2433,DS28EC20, termometro DS1820;
						supporto bus UNIO e memorie 11010-20-40-80-160;
						corretti algoritmi 24x1024/5 e 251024, 
						aggiunte FLASH SPI 251005,252005,254005,258005,251605,25X10,25X20,25X40,25X80,
						25X16,25X32,25X64;
						aggiunti 16F1782-3-4-6-7,12C508-9

V 0.7.10 gennaio 2012:	aggiunti 12F617,12F1501,16F1503-7-8-9,16F720-21,16F72,16F707,
						18F13K22,18F14K22,18F23K22,18F43K22,18F24K22,18F44K22,18F25K22,
						18F45K22,18F26K22,18F46K22,18F8520,18F66J60,18F66J65,18F67J60,
						18F86J60,18F86J65,18F87J60,18F96J60,18F96J65,18F97J60,
						corretta lettura/scrittura file binari, varie correzioni

V 0.7.9	giugno 2011:	aggiunti ATtiny11-12-24-26-261-44-48-461-4313-84-88-861, 
						ATmega48-88-164A-168-324A-328-644A-1284, 16LF1902-3-4-6-7,
						scrittura EEPROM seriali ottimizzata, 
						varie modifiche minori e correzioni

V 0.7.8	aprile 2011:	aggiornati algoritmi 16F87xA e 16F62xA,
						16F1822 diventa 12F1822, aggiunti 30F1010, 30F2020, 30F2023, 16F1847, 12F1840
						16F1516, 16F1517, 16F1518, 16F1519, 16F1526, 16F1527
						maggiore modularit del codice, corretti alcuni bachi;						
						auto-ricerca programmatore su hiddevX

V 0.7.7	agosto 2010:	aggiunti 16F72x,
						migliorata compatibilit con hex non standard

V 0.7.6	luglio 2010:	modifica algoritmi 93xxx con lettura byte a byte per maggiore compatibilit,
						supporto programmatore con ADC a 12 bit (18F2553 ecc.)

V 0.7.5	giugno 2010:	corretto baco in scrittura config 18Fx (introdotto nella v.0.7.4),
						aggiunta scrittura goto ICD per i 16Fx, 
						correzioni varie

V 0.7.4	maggio 2010:	aggiunti PIC24H, dsPIC30, dsPIC33, 18FxxKxx, 18FxxJxx,
						eliminati parecchi costrutti MFC,
						correzioni: verifica config word, algoritmo 24F e 18F, vari

V 0.7.3	aprile 2010:	compilabile anche su windows, 
						corretto baco nel caricamento di un file per EEPROM, 
						aggiunti 16F1xxx, un po' di pulizia del codice

V 0.7.2	marzo 2010:		aggiunte alcune memorie uW, corretti algoritmi 16F7xx e alcuni bachi

V 0.7.1	febbraio 2010:	aggiunti alcuni micro PIC18 e Atmel

V 0.7.0	gennaio 2010:	aggiunte memorie SPI e alcuni micro PIC24F

V 0.6.2	ottobre 2009:	corretto algoritmo 16F628, 16F87/88 e 81X; supporto file binari con memorie EE

V 0.6.1	settembre 2009:	corretti vari bachi, aggiunte memorie 93Cx6 e alcuni micro Atmel

V 0.6.0	giugno 2009:	aggiunte memorie MicroWire 93Sx6

V 0.5.3	marzo 2009: 	corretto baco sulle config word dei PIC18

V 0.5.2	marzo 2009: 	aggiunti alcuni micro PIC e Atmel, corretti alcuni bachi

V 0.5.1	gennaio  2009: 	aggiunti alcuni micro PIC, corretti alcuni bachi

V 0.5.0	novembre 2008: 	aggiunti alcuni micro ATMEL (90S8515, 90S1200), supporto universale I2C/SPI

V 0.4.0	agosto 2008: 	aggiunte memorie I2C 24XX.

V 0.3.0	luglio 2008:	prima versione pubblica, supporta PIC 10,12,16,18.

Guida: op -h
Elenco completo di dispositivi supportati: op -support
Esempio di scrittura: op -d 12F628 -ee -w prova.hex
Per compilare: make
Per installare: make install

Pu essere compilato per windows con MinGW/MSYS

hid_test: spedisce e riceve un singolo pacchetto dati (64 byte)
es. hid_test 0 1 2 3 12 15 1a 1c 1f 4

ihex: calcola il checksum di una serie di byte secondo l'algoritmo usato nel formato intel hex
es. ihex 1 2 3 4
