A libery to connect to telegesis zigbee module. Bassed on implemtation of XBEE

Fork of xbee_lib by Tristan Hughes

telegesis.h

Committer:
gert_lauritsen
Date:
2013-10-13
Revision:
10:263f7251c111
Parent:
9:c8e4339ccc29
Child:
11:18ff088287ea

File content as of revision 10:263f7251c111:

#include "mbed.h"

/** Zigbee interface class for configuring, sending and recieving data using an telegesis zigbee */
class zigbee
{
private:
    PinName _tx;
    PinName _rx;
    PinName _reset;
public:

    zigbee(PinName tx, PinName rx, PinName reset);
    ~zigbee();


     /** Gets the serial number/mac address of the zigbee and places it into serial_no.
      * @param serial_no array to store the serial of zigbee (must be 8 long).
      * @return Returns 1 on success.
      */
    int GetSerial(int*);
    /** Sets the encryption key. This should be a 128-bit key.
      * @param key Pointer to the network key to set.
      * @return Returns 1 on success.
      */
    int SetKey(char*);

    /** Recieves data sent to the xbee.
      * @param data_buf Pointer to the buffer to put recieved data into.
      * @param numchar Number of characters to read. If 0, will use the size of data_buf.
      */
    void RecieveData(char*, int);
    /** Get hw version and local ID (64bit uniq number) 
      *
      */      
    int ATI();
    /** Sends a ping to Coo or any other adresse   
      *  
      */
    int PingOut();
    /** Scan the Pan for nodes   
      */
    int PanScan();
    /** Make a new network. It then gets the role as coordinator
      */
    int Establish_Network();
    /** Join a pan      
      */
    int JoinNetwork();
    /** 
      * Scan network       
      */
    int ScanNetwork();    
    /**
      *Give info on what role the modem has in the network   
      */    
      
   int NetworkInfo();    
    /** 
      */    
    /** Sends data using the ascii mode    
      */            
   int UniCast(char *adr,char *payload);
    /** Sends data using the binary mode    
      */      
   int UniCastb(char *adr,char *payload, char payloadSize);      
   /** Pulls Resetpin
   */
   void Reset();
      
   /** converts a string to a long
   */    
   unsigned long hexToLong(const char *hex);
   /** convertes a string to a int
   */
   unsigned int hexToInt(const char *hex);
   /**
   */
   int EUI64;  
   /** COO or FBB
   */
   char Devicetype[3];
   /** Gives type of HW
   */
   char HWType[15];
   /** incomming data
   */
   char Zdata[100]; 
   
   int channel, NodeID, EPID,framesize;
};