diff --git a/firmware/source/logic.h b/firmware/source/logic.h index 3232778..eb7b87e 100644 --- a/firmware/source/logic.h +++ b/firmware/source/logic.h @@ -1,7 +1,6 @@ #ifndef _logic_h #define _logic_h -#define NILL 0x00 #define LO 0x00 #define HI 0xFF @@ -12,4 +11,7 @@ #define TRUE 0x00 //false is anything besides TRUE +//used to indicate when intentionally passing zero because option not used +#define NILL 0x00 + #endif diff --git a/host/source/dictionary.c b/host/source/dictionary.c index 78a3813..eba7370 100644 --- a/host/source/dictionary.c +++ b/host/source/dictionary.c @@ -15,7 +15,19 @@ * debug print of call and return values */ +//default call dictionary without print option int dictionary_call( USBtransfer *transfer, uint8_t dictionary, uint8_t opcode, uint16_t addr, uint8_t miscdata, uint8_t endpoint, uint8_t *buffer, uint16_t length) +{ + return dictionary_call_print_option( ~TRUE, transfer, dictionary, opcode, addr, miscdata, endpoint, buffer, length); +} + +//debug call dictionary without print option +int dictionary_call_debug( USBtransfer *transfer, uint8_t dictionary, uint8_t opcode, uint16_t addr, uint8_t miscdata, uint8_t endpoint, uint8_t *buffer, uint16_t length) +{ + return dictionary_call_print_option( TRUE, transfer, dictionary, opcode, addr, miscdata, endpoint, buffer, length); +} + +int dictionary_call_print_option( int print_debug; USBtransfer *transfer, uint8_t dictionary, uint8_t opcode, uint16_t addr, uint8_t miscdata, uint8_t endpoint, uint8_t *buffer, uint16_t length) { transfer->request = dictionary; transfer->wValueMSB = miscdata; @@ -133,22 +145,27 @@ int dictionary_call( USBtransfer *transfer, uint8_t dictionary, uint8_t opcode, xfr_cnt = usb_transfer( transfer ); - //print transfer details if small xfr + if (print_debug == TRUE) { + //print transfer details if small xfr + if (xfr_cnt <= 8) { + printf(" xf: %d er: %d rv:",xfr_cnt, rbuf[0]); + int i ; + for (i=1; i