diff --git a/firmware/src/edubrm.c b/firmware/src/edubrm.c index f193a82..a95b1b0 100644 --- a/firmware/src/edubrm.c +++ b/firmware/src/edubrm.c @@ -10,13 +10,13 @@ void GetInReport (uint8_t src[], uint32_t length) uint32_t volatile reg = LPC_USB->CmdCode; if (reg & (5<<8)) return; - for (i=0; i<6; ++i) { + for (i=0; i<7; ++i) { uint32_t v = ADCRead(i); src[i*2 ] = v & 0xff; src[i*2+1] = (v>>8) & 0xff; } // TODO: fix the following - replace IP[i] with real value of input pin (I) - // src[12] = IP[0] + (IP[1]<<1) + (IP[2]<<2); + // src[14] = IP[0] + (IP[1]<<1) + (IP[2]<<2); } void SetOutReport (uint8_t dst[], uint32_t length) diff --git a/software/device.py b/software/device.py index 243738e..a0bffb9 100644 --- a/software/device.py +++ b/software/device.py @@ -53,8 +53,9 @@ class Device: self.epo.write('o' + chr(which<<1 + state)) def read(self): - # 6x AD (16 bits) + 3 x I + # 7x AD (16 bits) + 3 x I i = self.epi.read(self.INSIZE) - return (i[0] + i[1]<<8, i[2] + i[3]<<8, i[4] + i[5]<<8, - i[6] + i[7]<<8, i[9] + i[9]<<8, i[10] + i[11]<<8, - i[12] & 0x01, (i[12] & 0x02) >> 1, (i[12] & 0x04) >> 2) + return (i[0] + i[1]<<8, # AD0 + i[2] + i[3]<<8, i[4] + i[5]<<8, i[6] + i[7]<<8, # AD1 .. AD3 + i[9] + i[9]<<8, i[10] + i[11]<<8, i[12] + i[13]<<8, # AD4 .. AD6 + i[14] & 0x01, (i[14] & 0x02) >> 1, (i[14] & 0x04) >> 2) # IO1 .. IO3 diff --git a/software/modules/ModuleDebug.ui b/software/modules/ModuleDebug.ui index 09e68fd..1da9560 100644 --- a/software/modules/ModuleDebug.ui +++ b/software/modules/ModuleDebug.ui @@ -646,7 +646,7 @@ 10 270 461 - 151 + 161 @@ -703,7 +703,7 @@ 110 - 20 + 40 91 21 @@ -716,7 +716,7 @@ 110 - 40 + 60 91 21 @@ -729,7 +729,7 @@ 110 - 60 + 80 91 21 @@ -742,7 +742,7 @@ 110 - 80 + 100 91 21 @@ -755,7 +755,7 @@ 110 - 100 + 120 91 21 @@ -768,7 +768,7 @@ 110 - 120 + 140 91 21 @@ -816,6 +816,19 @@ IO1: 0 + + + + 110 + 20 + 91 + 21 + + + + AD0: 0 + +