mirror of
https://github.com/brmlab/edubrm.git
synced 2025-06-08 21:03:59 +02:00
implement firmware part of the protocol
remove unnecessary files
This commit is contained in:
parent
4fb8173118
commit
e809984eb2
5 changed files with 52 additions and 224 deletions
|
@ -1,100 +0,0 @@
|
||||||
static const uint8_t ASCII[][5] =
|
|
||||||
{
|
|
||||||
{0x00, 0x00, 0x00, 0x00, 0x00} // 20
|
|
||||||
,{0x00, 0x00, 0x5f, 0x00, 0x00} // 21 !
|
|
||||||
,{0x00, 0x07, 0x00, 0x07, 0x00} // 22 "
|
|
||||||
,{0x14, 0x7f, 0x14, 0x7f, 0x14} // 23 #
|
|
||||||
,{0x24, 0x2a, 0x7f, 0x2a, 0x12} // 24 $
|
|
||||||
,{0x23, 0x13, 0x08, 0x64, 0x62} // 25 %
|
|
||||||
,{0x36, 0x49, 0x55, 0x22, 0x50} // 26 &
|
|
||||||
,{0x00, 0x05, 0x03, 0x00, 0x00} // 27 '
|
|
||||||
,{0x00, 0x1c, 0x22, 0x41, 0x00} // 28 (
|
|
||||||
,{0x00, 0x41, 0x22, 0x1c, 0x00} // 29 )
|
|
||||||
,{0x14, 0x08, 0x3e, 0x08, 0x14} // 2a *
|
|
||||||
,{0x08, 0x08, 0x3e, 0x08, 0x08} // 2b +
|
|
||||||
,{0x00, 0x50, 0x30, 0x00, 0x00} // 2c ,
|
|
||||||
,{0x08, 0x08, 0x08, 0x08, 0x08} // 2d -
|
|
||||||
,{0x00, 0x60, 0x60, 0x00, 0x00} // 2e .
|
|
||||||
,{0x20, 0x10, 0x08, 0x04, 0x02} // 2f /
|
|
||||||
,{0x3e, 0x51, 0x49, 0x45, 0x3e} // 30 0
|
|
||||||
,{0x00, 0x42, 0x7f, 0x40, 0x00} // 31 1
|
|
||||||
,{0x42, 0x61, 0x51, 0x49, 0x46} // 32 2
|
|
||||||
,{0x21, 0x41, 0x45, 0x4b, 0x31} // 33 3
|
|
||||||
,{0x18, 0x14, 0x12, 0x7f, 0x10} // 34 4
|
|
||||||
,{0x27, 0x45, 0x45, 0x45, 0x39} // 35 5
|
|
||||||
,{0x3c, 0x4a, 0x49, 0x49, 0x30} // 36 6
|
|
||||||
,{0x01, 0x71, 0x09, 0x05, 0x03} // 37 7
|
|
||||||
,{0x36, 0x49, 0x49, 0x49, 0x36} // 38 8
|
|
||||||
,{0x06, 0x49, 0x49, 0x29, 0x1e} // 39 9
|
|
||||||
,{0x00, 0x36, 0x36, 0x00, 0x00} // 3a :
|
|
||||||
,{0x00, 0x56, 0x36, 0x00, 0x00} // 3b ;
|
|
||||||
,{0x08, 0x14, 0x22, 0x41, 0x00} // 3c <
|
|
||||||
,{0x14, 0x14, 0x14, 0x14, 0x14} // 3d =
|
|
||||||
,{0x00, 0x41, 0x22, 0x14, 0x08} // 3e >
|
|
||||||
,{0x02, 0x01, 0x51, 0x09, 0x06} // 3f ?
|
|
||||||
,{0x32, 0x49, 0x79, 0x41, 0x3e} // 40 @
|
|
||||||
,{0x7e, 0x11, 0x11, 0x11, 0x7e} // 41 A
|
|
||||||
,{0x7f, 0x49, 0x49, 0x49, 0x36} // 42 B
|
|
||||||
,{0x3e, 0x41, 0x41, 0x41, 0x22} // 43 C
|
|
||||||
,{0x7f, 0x41, 0x41, 0x22, 0x1c} // 44 D
|
|
||||||
,{0x7f, 0x49, 0x49, 0x49, 0x41} // 45 E
|
|
||||||
,{0x7f, 0x09, 0x09, 0x09, 0x01} // 46 F
|
|
||||||
,{0x3e, 0x41, 0x49, 0x49, 0x7a} // 47 G
|
|
||||||
,{0x7f, 0x08, 0x08, 0x08, 0x7f} // 48 H
|
|
||||||
,{0x00, 0x41, 0x7f, 0x41, 0x00} // 49 I
|
|
||||||
,{0x20, 0x40, 0x41, 0x3f, 0x01} // 4a J
|
|
||||||
,{0x7f, 0x08, 0x14, 0x22, 0x41} // 4b K
|
|
||||||
,{0x7f, 0x40, 0x40, 0x40, 0x40} // 4c L
|
|
||||||
,{0x7f, 0x02, 0x0c, 0x02, 0x7f} // 4d M
|
|
||||||
,{0x7f, 0x04, 0x08, 0x10, 0x7f} // 4e N
|
|
||||||
,{0x3e, 0x41, 0x41, 0x41, 0x3e} // 4f O
|
|
||||||
,{0x7f, 0x09, 0x09, 0x09, 0x06} // 50 P
|
|
||||||
,{0x3e, 0x41, 0x51, 0x21, 0x5e} // 51 Q
|
|
||||||
,{0x7f, 0x09, 0x19, 0x29, 0x46} // 52 R
|
|
||||||
,{0x46, 0x49, 0x49, 0x49, 0x31} // 53 S
|
|
||||||
,{0x01, 0x01, 0x7f, 0x01, 0x01} // 54 T
|
|
||||||
,{0x3f, 0x40, 0x40, 0x40, 0x3f} // 55 U
|
|
||||||
,{0x1f, 0x20, 0x40, 0x20, 0x1f} // 56 V
|
|
||||||
,{0x3f, 0x40, 0x38, 0x40, 0x3f} // 57 W
|
|
||||||
,{0x63, 0x14, 0x08, 0x14, 0x63} // 58 X
|
|
||||||
,{0x07, 0x08, 0x70, 0x08, 0x07} // 59 Y
|
|
||||||
,{0x61, 0x51, 0x49, 0x45, 0x43} // 5a Z
|
|
||||||
,{0x00, 0x7f, 0x41, 0x41, 0x00} // 5b [
|
|
||||||
,{0x02, 0x04, 0x08, 0x10, 0x20} // 5c ¥
|
|
||||||
,{0x00, 0x41, 0x41, 0x7f, 0x00} // 5d ]
|
|
||||||
,{0x04, 0x02, 0x01, 0x02, 0x04} // 5e ^
|
|
||||||
,{0x40, 0x40, 0x40, 0x40, 0x40} // 5f _
|
|
||||||
,{0x00, 0x01, 0x02, 0x04, 0x00} // 60 `
|
|
||||||
,{0x20, 0x54, 0x54, 0x54, 0x78} // 61 a
|
|
||||||
,{0x7f, 0x48, 0x44, 0x44, 0x38} // 62 b
|
|
||||||
,{0x38, 0x44, 0x44, 0x44, 0x20} // 63 c
|
|
||||||
,{0x38, 0x44, 0x44, 0x48, 0x7f} // 64 d
|
|
||||||
,{0x38, 0x54, 0x54, 0x54, 0x18} // 65 e
|
|
||||||
,{0x08, 0x7e, 0x09, 0x01, 0x02} // 66 f
|
|
||||||
,{0x0c, 0x52, 0x52, 0x52, 0x3e} // 67 g
|
|
||||||
,{0x7f, 0x08, 0x04, 0x04, 0x78} // 68 h
|
|
||||||
,{0x00, 0x44, 0x7d, 0x40, 0x00} // 69 i
|
|
||||||
,{0x20, 0x40, 0x44, 0x3d, 0x00} // 6a j
|
|
||||||
,{0x7f, 0x10, 0x28, 0x44, 0x00} // 6b k
|
|
||||||
,{0x00, 0x41, 0x7f, 0x40, 0x00} // 6c l
|
|
||||||
,{0x7c, 0x04, 0x18, 0x04, 0x78} // 6d m
|
|
||||||
,{0x7c, 0x08, 0x04, 0x04, 0x78} // 6e n
|
|
||||||
,{0x38, 0x44, 0x44, 0x44, 0x38} // 6f o
|
|
||||||
,{0x7c, 0x14, 0x14, 0x14, 0x08} // 70 p
|
|
||||||
,{0x08, 0x14, 0x14, 0x18, 0x7c} // 71 q
|
|
||||||
,{0x7c, 0x08, 0x04, 0x04, 0x08} // 72 r
|
|
||||||
,{0x48, 0x54, 0x54, 0x54, 0x20} // 73 s
|
|
||||||
,{0x04, 0x3f, 0x44, 0x40, 0x20} // 74 t
|
|
||||||
,{0x3c, 0x40, 0x40, 0x20, 0x7c} // 75 u
|
|
||||||
,{0x1c, 0x20, 0x40, 0x20, 0x1c} // 76 v
|
|
||||||
,{0x3c, 0x40, 0x30, 0x40, 0x3c} // 77 w
|
|
||||||
,{0x44, 0x28, 0x10, 0x28, 0x44} // 78 x
|
|
||||||
,{0x0c, 0x50, 0x50, 0x50, 0x3c} // 79 y
|
|
||||||
,{0x44, 0x64, 0x54, 0x4c, 0x44} // 7a z
|
|
||||||
,{0x00, 0x08, 0x36, 0x41, 0x00} // 7b {
|
|
||||||
,{0x00, 0x00, 0x7f, 0x00, 0x00} // 7c |
|
|
||||||
,{0x00, 0x41, 0x36, 0x08, 0x00} // 7d }
|
|
||||||
,{0x10, 0x08, 0x08, 0x10, 0x08} // 7e ←
|
|
||||||
,{0x78, 0x46, 0x41, 0x46, 0x78} // 7f →
|
|
||||||
};
|
|
||||||
|
|
|
@ -3,58 +3,64 @@
|
||||||
#include "ssp.h"
|
#include "ssp.h"
|
||||||
#include "adc.h"
|
#include "adc.h"
|
||||||
|
|
||||||
#include "chars.h"
|
|
||||||
#include "pbjt.h"
|
|
||||||
|
|
||||||
void GetInReport (uint8_t src[], uint32_t length)
|
void GetInReport (uint8_t src[], uint32_t length)
|
||||||
{
|
{
|
||||||
|
uint8_t i;
|
||||||
uint32_t volatile reg = LPC_USB->CmdCode;
|
uint32_t volatile reg = LPC_USB->CmdCode;
|
||||||
if (reg & (5<<8)) return;
|
if (reg & (5<<8)) return;
|
||||||
|
|
||||||
static int j = 0;
|
for (i=0; i<4; ++i) {
|
||||||
int i;
|
uint32_t v = ADCRead(i);
|
||||||
for (i = 0; i < USB_INSIZE; ++i) {
|
src[i*2 ] = v & 0xff;
|
||||||
src[i] = 'A' + i + j;
|
src[i*2+1] = (v>>8) & 0xff;
|
||||||
}
|
}
|
||||||
if (++j>32) j = 0;
|
// TODO: fix the following - replace IP[i] with real value if input pin (I)
|
||||||
|
// src[8] = IP[0] + (IP[1]<<1) + (IP[2]<<2) + (IP[3]<<3) + (IP[4]<<4) + (IP[5]<<5) + (IP[6]<<6) + (IP[7]<<7);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetOutReport (uint8_t dst[], uint32_t length)
|
void SetOutReport (uint8_t dst[], uint32_t length)
|
||||||
{
|
{
|
||||||
uint32_t i;
|
uint8_t which, wavetype, chan, states;
|
||||||
|
uint16_t duty, mult;
|
||||||
|
uint32_t freq;
|
||||||
|
|
||||||
switch (dst[0]) {
|
switch (dst[0]) {
|
||||||
|
case 'p':
|
||||||
case 0x00: // send chars to display
|
which = dst[1];
|
||||||
for (i = 1; dst[i] != 0; ++i) {
|
duty = dst[2] + (dst[3]<<8);
|
||||||
if (dst[i] >= 0x20 && dst[i] <= 0x7F)
|
// TODO: set PWM (which) to (duty)
|
||||||
SSPSend((uint8_t *)ASCII[dst[i]-0x20], 5);
|
break;
|
||||||
SSPSend((uint8_t *)"\x00", 1);
|
case 'd':
|
||||||
|
wavetype = dst[1];
|
||||||
|
freq = dst[2] + (dst[3]<<8) + (dst[4]<<16) + (dst[5]<<24);
|
||||||
|
// TODO: set DDS to (wavetype) of (freq) Hz
|
||||||
|
break;
|
||||||
|
case 'm':
|
||||||
|
which = dst[1];
|
||||||
|
chan = dst[2];
|
||||||
|
mult = dst[3] + (dst[4]<<8);
|
||||||
|
// TODO: set opamp (which) on channel (chan) with multiplicator (mult)
|
||||||
|
break;
|
||||||
|
case 's':
|
||||||
|
which = dst[1];
|
||||||
|
if (dst[2]) {
|
||||||
|
// TODO: set switch (which) to on
|
||||||
|
} else {
|
||||||
|
// TODO: set switch (which) to off
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'S':
|
||||||
case 0x01: // clear screen (white)
|
states = dst[1];
|
||||||
for (i = 0; i < 84*6; ++i) {
|
// TODO: set switches to states
|
||||||
SSPSend((uint8_t *)"\x00", 1);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
case 'o':
|
||||||
case 0x02: // clear screen (black)
|
which = dst[1];
|
||||||
for (i = 0; i < 84*6; ++i) {
|
// TODO: set output pins to 0 where indicated by (which)
|
||||||
SSPSend((uint8_t *)"\xFF", 1);
|
break;
|
||||||
}
|
case 'O':
|
||||||
|
which = dst[1];
|
||||||
|
// TODO: set output pins to 1 where indicated by (which)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x03:
|
|
||||||
switch (dst[1]) {
|
|
||||||
case 0: SSPSend(pbjt1, 504); break;
|
|
||||||
case 1: SSPSend(pbjt2, 504); break;
|
|
||||||
case 2: SSPSend(pbjt3, 504); break;
|
|
||||||
case 3: SSPSend(pbjt4, 504); break;
|
|
||||||
case 4: SSPSend(pbjt5, 504); break;
|
|
||||||
case 5: SSPSend(pbjt6, 504); break;
|
|
||||||
case 6: SSPSend(pbjt7, 504); break;
|
|
||||||
case 7: SSPSend(pbjt8, 504); break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
static uint8_t *pbjt1 = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xf0\x9e\x01\x81\x8e\xb8\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x44\x44\x6c\xf8\x80\x00\x00\x07\xf8\xaa\x28\x27\x28\xaa\x48\x37\xff\x00\x00\x00\x80\xf8\x6c\x44\x44\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x02\x02\xff\x00\x01\x01\x01\x80\xe0\x3c\x07\x02\x02\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x40\x20\x20\x20\x78\xcf\x03\x03\x02\xc3\x4f\x38\x20\x20\x40\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
||||||
static uint8_t *pbjt2 = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x40\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x20\x20\x60\xc0\x00\x00\x00\x00\x00\x00\xc0\xf8\x2e\xa3\x20\xc0\x27\xbc\x20\xc0\x00\x00\x00\x00\x00\x00\xc0\x60\x20\x20\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x02\x03\x07\x04\x0c\x08\x18\x30\x20\xff\x0d\x12\x2a\x4a\x49\x4a\x2a\xfe\x21\x30\x10\x18\x08\x0c\x04\x07\x03\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x1e\x70\xc0\x80\x00\x80\x80\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x40\x20\x20\x20\xbc\xe7\x01\x01\x01\xe7\xbc\x20\x20\x20\x40\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
||||||
static uint8_t *pbjt3 = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xc0\x60\x38\x0c\x0c\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x03\xe0\x40\x5c\xa2\xa2\xab\xfe\x2a\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x88\x88\xd8\xf0\x80\x00\x9f\xf0\xc0\x01\x02\x02\x04\x07\x3c\xe0\x80\x00\x80\xf0\xd8\x88\x88\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc1\x21\x20\x21\x3b\x4e\xc4\x0c\x08\x08\xcd\x4f\x2d\x39\x20\x20\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
||||||
static uint8_t *pbjt4 = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xe0\x30\x30\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x0e\x83\x01\x70\x88\x88\xaf\xf8\xa8\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x20\x20\x60\xc0\x3f\xe0\x83\x05\x09\x0a\x12\x1e\x73\xc0\x00\xc0\x60\x20\x20\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x02\x03\xc7\x2c\x38\x3f\x76\x5c\xd8\x18\x10\x10\xdb\x5e\x59\x3f\x32\x22\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x00\x00\x00\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
||||||
static uint8_t *pbjt5 = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xb8\x8e\x81\x01\x9e\xf0\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x44\x44\x68\xf8\x80\x00\x00\x00\xff\x37\x48\xaa\x28\x27\x28\xaa\xf8\x07\x00\x00\x80\xf8\x6c\x44\x44\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x02\x02\x07\x3c\xe0\x80\x01\x01\x01\x00\xff\x02\x02\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x40\x20\x20\x38\x4f\xc3\x02\x03\x03\xcf\x78\x20\x20\x20\x40\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
||||||
static uint8_t *pbjt6 = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x40\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x20\x20\x60\xc0\x00\x00\x00\x00\x00\x00\xc0\x20\xbc\x27\xc0\x20\xa3\x2e\xf8\xc0\x00\x00\x00\x00\x00\x00\xc0\x60\x20\x20\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x02\x03\x07\x04\x0c\x08\x18\x10\x30\x21\xfe\x2a\x4a\x49\x4a\x2a\x12\x0d\xff\x20\x30\x18\x08\x0c\x04\x07\x03\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x80\x80\x00\x80\xc0\x70\x1e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x40\x20\x20\x20\xbc\xe7\x01\x01\x01\xe7\xbc\x20\x20\x20\x40\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
||||||
static uint8_t *pbjt7 = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x0c\x0c\x38\x60\xc0\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x2a\xfe\xab\xa2\xa2\x5c\x40\xe0\x03\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x88\x88\xd8\xf0\x80\x00\x80\xe0\x3c\x07\x04\x02\x02\x01\xc0\xf0\x9f\x00\x80\xf0\xd8\x88\x88\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x20\x20\x39\x2d\x4f\xcd\x08\x08\x0c\xc4\x4e\x3b\x21\x20\x21\xc1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
||||||
static uint8_t *pbjt8 = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x30\x30\xe0\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\xa8\xf8\xaf\x88\x88\x70\x01\x83\x0e\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x20\x20\x60\xc0\x00\xc0\x73\x1e\x12\x0a\x09\x05\x83\xe0\x3f\xc0\x60\x20\x20\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x22\x32\x3f\x59\x5e\xdb\x10\x10\x18\xd8\x5c\x76\x3f\x38\x2c\xc7\x03\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x00\x00\x00\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
|
|
|
@ -1,70 +0,0 @@
|
||||||
#!/usr/bin/python
|
|
||||||
|
|
||||||
import usb
|
|
||||||
import time
|
|
||||||
|
|
||||||
usbdev = usb.core.find(idVendor = 0x1fc9, idProduct = 0x1337)
|
|
||||||
|
|
||||||
try:
|
|
||||||
usbdev.detach_kernel_driver(0)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
usbdev.set_configuration()
|
|
||||||
|
|
||||||
epo = usb.util.find_descriptor(
|
|
||||||
usbdev.get_interface_altsetting(),
|
|
||||||
custom_match = lambda e: \
|
|
||||||
usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_OUT)
|
|
||||||
|
|
||||||
epi = usb.util.find_descriptor(
|
|
||||||
usbdev.get_interface_altsetting(),
|
|
||||||
custom_match = lambda e: \
|
|
||||||
usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_IN)
|
|
||||||
|
|
||||||
# print epi.read(64)
|
|
||||||
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
epo.write('\x00 Hackerspace \x00')
|
|
||||||
epo.write('\x00 brmlab \x00')
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
epo.write('\x00 PRESENTS \x00')
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
|
|
||||||
time.sleep(1.5)
|
|
||||||
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
epo.write('\x00 PEANUT \x00')
|
|
||||||
epo.write('\x00 BUTTER \x00')
|
|
||||||
epo.write('\x00 JELLY \x00')
|
|
||||||
epo.write('\x00 TIME! \x00')
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
|
|
||||||
time.sleep(1.7)
|
|
||||||
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
epo.write('\x00 PEANUT \x00')
|
|
||||||
epo.write('\x00 BUTTER \x00')
|
|
||||||
epo.write('\x00 JELLY \x00')
|
|
||||||
epo.write('\x00 TIME! \x00')
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
|
|
||||||
time.sleep(1.7)
|
|
||||||
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
epo.write('\x00 PEANUT \x00')
|
|
||||||
epo.write('\x00 BUTTER \x00')
|
|
||||||
epo.write('\x00 JELLY \x00')
|
|
||||||
epo.write('\x00 TIME! \x00')
|
|
||||||
epo.write('\x00 \x00')
|
|
||||||
|
|
||||||
time.sleep(1.45)
|
|
||||||
|
|
||||||
# for i in xrange(100):
|
|
||||||
# epo.write('\x01')
|
|
||||||
# epo.write('\x02')
|
|
||||||
|
|
||||||
while 1:
|
|
||||||
for i in xrange(8):
|
|
||||||
time.sleep(0.1)
|
|
||||||
epo.write('\x03'+chr(i))
|
|
|
@ -25,23 +25,23 @@ class Device:
|
||||||
custom_match = lambda e: \
|
custom_match = lambda e: \
|
||||||
usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_IN)
|
usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_IN)
|
||||||
|
|
||||||
# sets pwm (which=1,2), (percent=16bit)
|
# sets pwm (which=1,2), (duty=16bit)
|
||||||
def pwm(self, which, percent):
|
def pwm(self, which, duty):
|
||||||
self.epo.write('p' + chr(which) + chr(percent & 0xff) + chr(percent >> 8))
|
self.epo.write('p' + chr(which) + chr(duty & 0xff) + chr(duty >> 8))
|
||||||
|
|
||||||
# sets dds (wave=square,sine,saw1,saw2), (freq=24bit)
|
# sets dds (wave=square,sine,saw1,saw2), (freq=32bit)
|
||||||
def dds(self, wave, freq):
|
def dds(self, wavetype, freq):
|
||||||
self.epo.write('d' + chr(wave) + chr(freq & 0xff) + chr((freq >> 8) & 0xff) + chr((freq >> 16) & 0xff))
|
self.epo.write('d' + chr(wavetype) + chr(freq & 0xff) + chr((freq >> 8) & 0xff) + chr((freq >> 16) & 0xff) + chr(freq >> 24))
|
||||||
|
|
||||||
# set opamp (which=1,2), (chan=6), (mult=16bit?)
|
# set opamp (which=1,2), (chan=6), (mult=16bit)
|
||||||
def opamp(self, which, chan, mult):
|
def opamp(self, which, chan, mult):
|
||||||
self.epo.write('o' + chr(which) + chr(chan) + chr(mult & 0xff) + chr(percent >> 8))
|
self.epo.write('m' + chr(which) + chr(chan) + chr(mult & 0xff) + chr(mult >> 8))
|
||||||
|
|
||||||
# set switch (which=1..8), state=(0,1)
|
# set switch (which=1..8), state=(0,1)
|
||||||
def switch(self, which, state):
|
def switch(self, which, state):
|
||||||
self.epo.write('s' + chr(which) + (state and '\x01' or '\x00'))
|
self.epo.write('s' + chr(which) + (state and '\x01' or '\x00'))
|
||||||
|
|
||||||
# set all switches (states=8bit)
|
# set all switches (which=8bit)
|
||||||
def switches(self, states):
|
def switches(self, states):
|
||||||
self.epo.write('S' + chr(states))
|
self.epo.write('S' + chr(states))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue