Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed PowerControl SDFileSystem
Fork of HeptaBattery_SDFilesystem_Q by
hepta_sat/HeptaXbee.cpp@0:9eb94b338772, 2016-12-09 (annotated)
- Committer:
- tomoya123
- Date:
- Fri Dec 09 04:53:49 2016 +0000
- Revision:
- 0:9eb94b338772
Battery and SDcard Q
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tomoya123 | 0:9eb94b338772 | 1 | #include "HeptaXbee.h" |
tomoya123 | 0:9eb94b338772 | 2 | #include "mbed.h" |
tomoya123 | 0:9eb94b338772 | 3 | #include <stdarg.h> |
tomoya123 | 0:9eb94b338772 | 4 | |
tomoya123 | 0:9eb94b338772 | 5 | HeptaXbee::HeptaXbee(PinName tx, PinName rx) : xbee(tx,rx) |
tomoya123 | 0:9eb94b338772 | 6 | { |
tomoya123 | 0:9eb94b338772 | 7 | rcmd = 0; |
tomoya123 | 0:9eb94b338772 | 8 | cmdflag = 0; |
tomoya123 | 0:9eb94b338772 | 9 | } |
tomoya123 | 0:9eb94b338772 | 10 | void HeptaXbee::baud(int rate) |
tomoya123 | 0:9eb94b338772 | 11 | { |
tomoya123 | 0:9eb94b338772 | 12 | xbee.baud(rate); |
tomoya123 | 0:9eb94b338772 | 13 | } |
tomoya123 | 0:9eb94b338772 | 14 | void HeptaXbee::xbee_recieve(int *xrcmd, int *xcmdflag) { |
tomoya123 | 0:9eb94b338772 | 15 | xbee.attach(this,&HeptaXbee::commandget,Serial::RxIrq); |
tomoya123 | 0:9eb94b338772 | 16 | //xbee.printf("ssXbeedata= %d,%d",HeptaXbee::rcmd,HeptaXbee::cmdflag); |
tomoya123 | 0:9eb94b338772 | 17 | *xrcmd = HeptaXbee::rcmd; |
tomoya123 | 0:9eb94b338772 | 18 | *xcmdflag = HeptaXbee::cmdflag; |
tomoya123 | 0:9eb94b338772 | 19 | } |
tomoya123 | 0:9eb94b338772 | 20 | |
tomoya123 | 0:9eb94b338772 | 21 | void HeptaXbee::initialize(){ |
tomoya123 | 0:9eb94b338772 | 22 | HeptaXbee::rcmd = 0; |
tomoya123 | 0:9eb94b338772 | 23 | HeptaXbee::cmdflag = 0; |
tomoya123 | 0:9eb94b338772 | 24 | } |
tomoya123 | 0:9eb94b338772 | 25 | |
tomoya123 | 0:9eb94b338772 | 26 | void HeptaXbee::commandget(){ |
tomoya123 | 0:9eb94b338772 | 27 | HeptaXbee::rcmd=xbee.getc(); |
tomoya123 | 0:9eb94b338772 | 28 | HeptaXbee::cmdflag = 1; |
tomoya123 | 0:9eb94b338772 | 29 | //xbee.printf("Xbeedata= %d,%d",rcmd,cmdflag); |
tomoya123 | 0:9eb94b338772 | 30 | } |
tomoya123 | 0:9eb94b338772 | 31 | void HeptaXbee::putc(char data) |
tomoya123 | 0:9eb94b338772 | 32 | { |
tomoya123 | 0:9eb94b338772 | 33 | xbee.putc(data); |
tomoya123 | 0:9eb94b338772 | 34 | } |
tomoya123 | 0:9eb94b338772 | 35 | void HeptaXbee::xbee_transmit(char* output_data,size_t output_n, |
tomoya123 | 0:9eb94b338772 | 36 | char data1[],char data2[],char data3[],char data4[],char data5[],char data6[],char data7[],char data8[],char data9[], |
tomoya123 | 0:9eb94b338772 | 37 | int n1,int n2,int n3,int n4,int n5,int n6,int n7,int n8,int n9) |
tomoya123 | 0:9eb94b338772 | 38 | { |
tomoya123 | 0:9eb94b338772 | 39 | int N=0,i=0,ii,jj=0; |
tomoya123 | 0:9eb94b338772 | 40 | for(i = 0; i <= n1-1; i++){ |
tomoya123 | 0:9eb94b338772 | 41 | output_data[N+i] = data1[i]; |
tomoya123 | 0:9eb94b338772 | 42 | } |
tomoya123 | 0:9eb94b338772 | 43 | N=i; |
tomoya123 | 0:9eb94b338772 | 44 | for(i = 0; i <= n2-1; i++){ |
tomoya123 | 0:9eb94b338772 | 45 | output_data[N+i] = data2[i]; |
tomoya123 | 0:9eb94b338772 | 46 | } |
tomoya123 | 0:9eb94b338772 | 47 | N=N+i; |
tomoya123 | 0:9eb94b338772 | 48 | for(i = 0; i <= n3-1; i++){ |
tomoya123 | 0:9eb94b338772 | 49 | output_data[N+i] = data3[i]; |
tomoya123 | 0:9eb94b338772 | 50 | } |
tomoya123 | 0:9eb94b338772 | 51 | N=N+i; |
tomoya123 | 0:9eb94b338772 | 52 | for(i = 0; i <= n4-1; i++){ |
tomoya123 | 0:9eb94b338772 | 53 | output_data[N+i] = data4[i]; |
tomoya123 | 0:9eb94b338772 | 54 | } |
tomoya123 | 0:9eb94b338772 | 55 | N=N+i; |
tomoya123 | 0:9eb94b338772 | 56 | for(i = 0; i <= n5-1; i++){ |
tomoya123 | 0:9eb94b338772 | 57 | output_data[N+i] = data5[i]; |
tomoya123 | 0:9eb94b338772 | 58 | } |
tomoya123 | 0:9eb94b338772 | 59 | N=N+i; |
tomoya123 | 0:9eb94b338772 | 60 | for(i = 0; i <= n6-1; i++){ |
tomoya123 | 0:9eb94b338772 | 61 | output_data[N+i] = data6[i]; |
tomoya123 | 0:9eb94b338772 | 62 | } |
tomoya123 | 0:9eb94b338772 | 63 | N=N+i; |
tomoya123 | 0:9eb94b338772 | 64 | for(i = 0; i <= n7-1; i++){ |
tomoya123 | 0:9eb94b338772 | 65 | output_data[N+i] = data7[i]; |
tomoya123 | 0:9eb94b338772 | 66 | } |
tomoya123 | 0:9eb94b338772 | 67 | N=N+i; |
tomoya123 | 0:9eb94b338772 | 68 | for(i = 0; i <= n8-1; i++){ |
tomoya123 | 0:9eb94b338772 | 69 | output_data[N+i] = data8[i]; |
tomoya123 | 0:9eb94b338772 | 70 | } |
tomoya123 | 0:9eb94b338772 | 71 | N=N+i; |
tomoya123 | 0:9eb94b338772 | 72 | for(i = 0; i <= n9-1; i++){ |
tomoya123 | 0:9eb94b338772 | 73 | output_data[N+i] = data9[i]; |
tomoya123 | 0:9eb94b338772 | 74 | } |
tomoya123 | 0:9eb94b338772 | 75 | for(ii=0;ii<output_n;ii++){ |
tomoya123 | 0:9eb94b338772 | 76 | xbee.putc(output_data[ii]); |
tomoya123 | 0:9eb94b338772 | 77 | jj++; |
tomoya123 | 0:9eb94b338772 | 78 | if(jj==2) |
tomoya123 | 0:9eb94b338772 | 79 | { |
tomoya123 | 0:9eb94b338772 | 80 | xbee.putc(0x20); |
tomoya123 | 0:9eb94b338772 | 81 | jj=0; |
tomoya123 | 0:9eb94b338772 | 82 | } |
tomoya123 | 0:9eb94b338772 | 83 | } |
tomoya123 | 0:9eb94b338772 | 84 | xbee.putc(0x0a); |
tomoya123 | 0:9eb94b338772 | 85 | } |
tomoya123 | 0:9eb94b338772 | 86 | void HeptaXbee::puts( char *s ) { |
tomoya123 | 0:9eb94b338772 | 87 | while ( char c = *s++ ) |
tomoya123 | 0:9eb94b338772 | 88 | xbee.putc( c ); |
tomoya123 | 0:9eb94b338772 | 89 | } |
tomoya123 | 0:9eb94b338772 | 90 | void HeptaXbee::printf( char *format, ... ) { |
tomoya123 | 0:9eb94b338772 | 91 | char s[ 32 ]; |
tomoya123 | 0:9eb94b338772 | 92 | va_list args; |
tomoya123 | 0:9eb94b338772 | 93 | |
tomoya123 | 0:9eb94b338772 | 94 | va_start( args, format ); |
tomoya123 | 0:9eb94b338772 | 95 | vsnprintf( s, 32, format, args ); |
tomoya123 | 0:9eb94b338772 | 96 | va_end( args ); |
tomoya123 | 0:9eb94b338772 | 97 | |
tomoya123 | 0:9eb94b338772 | 98 | xbee.puts( s ); |
tomoya123 | 0:9eb94b338772 | 99 | } |