sender backup
Dependencies: mbed
Fork of XBee_write by
main.cpp
- Committer:
- bmwaleks
- Date:
- 2018-04-18
- Revision:
- 1:bd05bf8bbe0a
- Parent:
- 0:74b4b9fc9480
File content as of revision 1:bd05bf8bbe0a:
#include "main.h" //XBee B med bargraph og digitale innganger + potmeter Serial xbee(p9, p10); Serial pc(USBTX, USBRX); DigitalOut rst(p11); DigitalOut myled(LED1); DigitalOut myled2(LED2); DigitalIn sb(p8); BusIn bryter[8] = {p12, p13, p14, p15, p16, p17, p18, p19}; DigitalOut leds[8] = {p21, p22, p23, p24, p25, p26, p27, p28}; char check_array_a[8] = {0, 0, 0, 0, 0, 0, 0, 0}; char digital_in_array[8] = {0, 0, 0, 0, 0, 0, 0, 0}; AnalogIn ain(p20); char recievedmessage[8]; void read_command(); void reset(); void check_digital_in(); void get_array(); void send_array(char *arr_name); int main() { reset(); while(1) { read_command(); get_array(); check_digital_in(); send_array(digital_in_array); } } void read_command() { if (xbee.readable()) { //Henter kommando og eventuell info for LEDs //xbee.gets(recievedmessage, sizeof(recievedmessage)); //xbee.scanf("%s", recieveptr); for (uint8_t i = 0; i <= 7; i++) { if (xbee.readable()) { //recievedmessage[i] = xbee.getc(); check_array_a[i] = xbee.getc(); pc.printf("\n\n %d Sjekk verdi pa bryter nr: %d", i, check_array_a[i]); } else { recievedmessage[i] = NULL; } wait_ms(5); } //Tømmer bufferet i tilfelle det dukker opp input som ikke hører hjemme while (xbee.readable()) { xbee.getc(); wait_ms(5); } } } void check_digital_in() //sjekker om lokal digital input er satt til 1 og lagrer verdier i array { for (int a=0; a<=7; a++) { if (bryter[a] != 0) { digital_in_array[a] = 1; //bryter_nr[a] = a; //xbee.putc(x); } else { digital_in_array[a] = 0; } } } void reset() { // reset the xbees (at least 200ns) rst = 0; wait_ms(1); rst = 1; wait_ms(1); } void get_array() //Leser array sendt fra xbee og lagrer dette lokalt { for (int b=0; b<=7; b++) { //if (check_array_a[b] != 0) { if ((recievedmessage[b] == b) && (b !=0)) { check_array_a[b] = 1; } pc.printf("\n Lest fra array, nr: %d er verdi: %d", b, check_array_a[b]); wait(1.5); //} } } void send_array(char *arr_name) //sender over hele arrayet { for (int c=0; c<=7; c++) { //if (check_array[c] !=0) { //xbee.printf("%c", c); //xbee.printf("%c", check_array[c]); xbee.putc(arr_name[c]); } pc.printf("\n array sendt \n"); }