Battery hex
Dependencies: mbed PowerControl SDFileSystem
Fork of HeptaBattery_hex by
hepta_sat/HeptaXbee.cpp@2:7c5919465fc8, 2016-12-13 (annotated)
- Committer:
- MEXT1
- Date:
- Tue Dec 13 10:50:09 2016 +0000
- Revision:
- 2:7c5919465fc8
- Parent:
- 0:30e193b92735
Battery hex
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tomoya123 | 0:30e193b92735 | 1 | #include "HeptaXbee.h" |
tomoya123 | 0:30e193b92735 | 2 | #include "mbed.h" |
tomoya123 | 0:30e193b92735 | 3 | #include <stdarg.h> |
tomoya123 | 0:30e193b92735 | 4 | |
tomoya123 | 0:30e193b92735 | 5 | HeptaXbee::HeptaXbee(PinName tx, PinName rx) : xbee(tx,rx) |
tomoya123 | 0:30e193b92735 | 6 | { |
tomoya123 | 0:30e193b92735 | 7 | rcmd = 0; |
tomoya123 | 0:30e193b92735 | 8 | cmdflag = 0; |
tomoya123 | 0:30e193b92735 | 9 | } |
tomoya123 | 0:30e193b92735 | 10 | void HeptaXbee::baud(int rate) |
tomoya123 | 0:30e193b92735 | 11 | { |
tomoya123 | 0:30e193b92735 | 12 | xbee.baud(rate); |
tomoya123 | 0:30e193b92735 | 13 | } |
tomoya123 | 0:30e193b92735 | 14 | void HeptaXbee::xbee_recieve(int *xrcmd, int *xcmdflag) { |
tomoya123 | 0:30e193b92735 | 15 | xbee.attach(this,&HeptaXbee::commandget,Serial::RxIrq); |
tomoya123 | 0:30e193b92735 | 16 | //xbee.printf("ssXbeedata= %d,%d",HeptaXbee::rcmd,HeptaXbee::cmdflag); |
tomoya123 | 0:30e193b92735 | 17 | *xrcmd = HeptaXbee::rcmd; |
tomoya123 | 0:30e193b92735 | 18 | *xcmdflag = HeptaXbee::cmdflag; |
tomoya123 | 0:30e193b92735 | 19 | } |
tomoya123 | 0:30e193b92735 | 20 | |
tomoya123 | 0:30e193b92735 | 21 | void HeptaXbee::initialize(){ |
tomoya123 | 0:30e193b92735 | 22 | HeptaXbee::rcmd = 0; |
tomoya123 | 0:30e193b92735 | 23 | HeptaXbee::cmdflag = 0; |
tomoya123 | 0:30e193b92735 | 24 | } |
tomoya123 | 0:30e193b92735 | 25 | |
tomoya123 | 0:30e193b92735 | 26 | void HeptaXbee::commandget(){ |
tomoya123 | 0:30e193b92735 | 27 | HeptaXbee::rcmd=xbee.getc(); |
tomoya123 | 0:30e193b92735 | 28 | HeptaXbee::cmdflag = 1; |
tomoya123 | 0:30e193b92735 | 29 | //xbee.printf("Xbeedata= %d,%d",rcmd,cmdflag); |
tomoya123 | 0:30e193b92735 | 30 | } |
tomoya123 | 0:30e193b92735 | 31 | void HeptaXbee::putc(char data) |
tomoya123 | 0:30e193b92735 | 32 | { |
tomoya123 | 0:30e193b92735 | 33 | xbee.putc(data); |
tomoya123 | 0:30e193b92735 | 34 | } |
tomoya123 | 0:30e193b92735 | 35 | void HeptaXbee::xbee_transmit(char* output_data,size_t output_n, |
tomoya123 | 0:30e193b92735 | 36 | char data1[],char data2[],char data3[],char data4[],char data5[],char data6[],char data7[],char data8[],char data9[], |
tomoya123 | 0:30e193b92735 | 37 | int n1,int n2,int n3,int n4,int n5,int n6,int n7,int n8,int n9) |
tomoya123 | 0:30e193b92735 | 38 | { |
tomoya123 | 0:30e193b92735 | 39 | int N=0,i=0,ii,jj=0; |
tomoya123 | 0:30e193b92735 | 40 | for(i = 0; i <= n1-1; i++){ |
tomoya123 | 0:30e193b92735 | 41 | output_data[N+i] = data1[i]; |
tomoya123 | 0:30e193b92735 | 42 | } |
tomoya123 | 0:30e193b92735 | 43 | N=i; |
tomoya123 | 0:30e193b92735 | 44 | for(i = 0; i <= n2-1; i++){ |
tomoya123 | 0:30e193b92735 | 45 | output_data[N+i] = data2[i]; |
tomoya123 | 0:30e193b92735 | 46 | } |
tomoya123 | 0:30e193b92735 | 47 | N=N+i; |
tomoya123 | 0:30e193b92735 | 48 | for(i = 0; i <= n3-1; i++){ |
tomoya123 | 0:30e193b92735 | 49 | output_data[N+i] = data3[i]; |
tomoya123 | 0:30e193b92735 | 50 | } |
tomoya123 | 0:30e193b92735 | 51 | N=N+i; |
tomoya123 | 0:30e193b92735 | 52 | for(i = 0; i <= n4-1; i++){ |
tomoya123 | 0:30e193b92735 | 53 | output_data[N+i] = data4[i]; |
tomoya123 | 0:30e193b92735 | 54 | } |
tomoya123 | 0:30e193b92735 | 55 | N=N+i; |
tomoya123 | 0:30e193b92735 | 56 | for(i = 0; i <= n5-1; i++){ |
tomoya123 | 0:30e193b92735 | 57 | output_data[N+i] = data5[i]; |
tomoya123 | 0:30e193b92735 | 58 | } |
tomoya123 | 0:30e193b92735 | 59 | N=N+i; |
tomoya123 | 0:30e193b92735 | 60 | for(i = 0; i <= n6-1; i++){ |
tomoya123 | 0:30e193b92735 | 61 | output_data[N+i] = data6[i]; |
tomoya123 | 0:30e193b92735 | 62 | } |
tomoya123 | 0:30e193b92735 | 63 | N=N+i; |
tomoya123 | 0:30e193b92735 | 64 | for(i = 0; i <= n7-1; i++){ |
tomoya123 | 0:30e193b92735 | 65 | output_data[N+i] = data7[i]; |
tomoya123 | 0:30e193b92735 | 66 | } |
tomoya123 | 0:30e193b92735 | 67 | N=N+i; |
tomoya123 | 0:30e193b92735 | 68 | for(i = 0; i <= n8-1; i++){ |
tomoya123 | 0:30e193b92735 | 69 | output_data[N+i] = data8[i]; |
tomoya123 | 0:30e193b92735 | 70 | } |
tomoya123 | 0:30e193b92735 | 71 | N=N+i; |
tomoya123 | 0:30e193b92735 | 72 | for(i = 0; i <= n9-1; i++){ |
tomoya123 | 0:30e193b92735 | 73 | output_data[N+i] = data9[i]; |
tomoya123 | 0:30e193b92735 | 74 | } |
tomoya123 | 0:30e193b92735 | 75 | for(ii=0;ii<output_n;ii++){ |
tomoya123 | 0:30e193b92735 | 76 | xbee.putc(output_data[ii]); |
tomoya123 | 0:30e193b92735 | 77 | jj++; |
tomoya123 | 0:30e193b92735 | 78 | if(jj==2) |
tomoya123 | 0:30e193b92735 | 79 | { |
tomoya123 | 0:30e193b92735 | 80 | xbee.putc(0x20); |
tomoya123 | 0:30e193b92735 | 81 | jj=0; |
tomoya123 | 0:30e193b92735 | 82 | } |
tomoya123 | 0:30e193b92735 | 83 | } |
tomoya123 | 0:30e193b92735 | 84 | xbee.putc(0x0a); |
tomoya123 | 0:30e193b92735 | 85 | } |
tomoya123 | 0:30e193b92735 | 86 | void HeptaXbee::puts( char *s ) { |
tomoya123 | 0:30e193b92735 | 87 | while ( char c = *s++ ) |
tomoya123 | 0:30e193b92735 | 88 | xbee.putc( c ); |
tomoya123 | 0:30e193b92735 | 89 | } |
tomoya123 | 0:30e193b92735 | 90 | void HeptaXbee::printf( char *format, ... ) { |
tomoya123 | 0:30e193b92735 | 91 | char s[ 32 ]; |
tomoya123 | 0:30e193b92735 | 92 | va_list args; |
tomoya123 | 0:30e193b92735 | 93 | |
tomoya123 | 0:30e193b92735 | 94 | va_start( args, format ); |
tomoya123 | 0:30e193b92735 | 95 | vsnprintf( s, 32, format, args ); |
tomoya123 | 0:30e193b92735 | 96 | va_end( args ); |
tomoya123 | 0:30e193b92735 | 97 | |
tomoya123 | 0:30e193b92735 | 98 | xbee.puts( s ); |
tomoya123 | 0:30e193b92735 | 99 | } |