From 94efdc1dc40bb75bb034541a9cf732c2473aa13a Mon Sep 17 00:00:00 2001 From: Paul Goeser Date: Tue, 26 Jul 2011 01:15:36 +0200 Subject: [PATCH] fixed masterchip bug that broke usb-readout --- firmware/masterchip/main.c | 3 ++- firmware/masterchip/usb.c | 16 ++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/firmware/masterchip/main.c b/firmware/masterchip/main.c index e7eee06..5f25993 100644 --- a/firmware/masterchip/main.c +++ b/firmware/masterchip/main.c @@ -17,7 +17,7 @@ #include "main.h" uint8_t newThermoData = 1; -uint16_t thermoData[]; +uint16_t thermoData[4]; void hardinit() { @@ -79,6 +79,7 @@ int __attribute__((noreturn)) main(void) { uint16_t recv; for(int i=0; i<4; i++) { thermoData[i] = spi_master_transceive(7, i, 0); + usbPoll(); } newThermoData = 1; } diff --git a/firmware/masterchip/usb.c b/firmware/masterchip/usb.c index f1bbfc5..e95f15e 100644 --- a/firmware/masterchip/usb.c +++ b/firmware/masterchip/usb.c @@ -13,17 +13,17 @@ usbMsgLen_t usbFunctionSetup(uchar data[8]) { uint16_t recv; if(rq->bRequest == 100) { - dataBuffer[0] = (thermoData [0] & 0xff00)>>8; - dataBuffer[1] = thermoData [0] & 0x00ff; - dataBuffer[2] = (thermoData [1] & 0xff00)>>8; - dataBuffer[3] = thermoData [1] & 0x00ff; + dataBuffer[0] = (thermoData[0] & 0xff00)>>8; + dataBuffer[1] = thermoData[0] & 0x00ff; + dataBuffer[2] = (thermoData[1] & 0xff00)>>8; + dataBuffer[3] = thermoData[1] & 0x00ff; usbMsgPtr = dataBuffer; return 4; } else if(rq->bRequest == 101) { - dataBuffer[0] = (thermoData [2] & 0xff00)>>8; - dataBuffer[1] = thermoData [2] & 0x00ff; - dataBuffer[2] = (thermoData [3] & 0xff00)>>8; - dataBuffer[3] = thermoData [3] & 0x00ff; + dataBuffer[0] = (thermoData[2] & 0xff00)>>8; + dataBuffer[1] = thermoData[2] & 0x00ff; + dataBuffer[2] = (thermoData[3] & 0xff00)>>8; + dataBuffer[3] = thermoData[3] & 0x00ff; usbMsgPtr = dataBuffer; return 4; } else {