XBEE code to reduce program size

Dependencies:   mbed

XBEE/XBEE.h

Committer:
giovanniwsn
Date:
2018-10-14
Revision:
1:b0c665b697c7
Parent:
0:7c9e8aaa85d4

File content as of revision 1:b0c665b697c7:

/**
  XBEE using IT
  @version: 1.1
  @author: Giovanni e Renan
*/

#if !defined(__XBEE_H_)
#define __XBEE_H_

#include "mbed.h"
#include <string.h>
#include <stdint.h> // uint8_t

#define XB_SIZEBUF  64

// para poder declarar como typedef
typedef struct __attribute__ ((__packed__)) {
    uint8_t start_delimiter;
    uint8_t length_H;
    uint8_t length;
    // Frame do Pacote
    uint8_t frame_type;     // 10
    uint8_t frame_id;
    uint8_t dest_addr64[8];
    uint8_t dest_addr16[2];
    uint8_t broadcast_radius;
    uint8_t options;
    uint8_t rf_data[100]; //NOTE: last byte MUST be checksum
}pkt_tx;

class XBEE {
    public:
        char buf_tx[XB_SIZEBUF];     // Serial TX
        char buf_rx[XB_SIZEBUF];     // Serial RX
        int count_tx;
        int count_rx;
        
        XBEE(Serial* serial, int baud = 9600);
        
        // High Level Function
        void init (void);
        int send_msg(char * str);
        int recv_msg(char * buf, int tam);
        
        // Low Level Function
        void recvAttach (void);
        void sendBuffer(void);
        int create_TX(char * str);
        
    protected:
        Serial* xbee;
        uint8_t serial_RX_ctrl;
};

#endif /* defined(__XBEE_H_) */