Subversion Repositories Projects

Rev

Rev 1307 | Blame | Last modification | View Log | RSS feed

/*
 * Wi232.h
 *
 *  Created on: 11.06.2011
 *      Author: cebra
 */


#ifndef WI232_H_
#define WI232_H_


void discoverWi232(void);
void Wi232_USB(void);
void Wi232_FC(void);
void InitWi232(void);
int16_t WriteWi232(uint8_t Wi232Register, uint8_t RegisterValue);
int16_t readWi232(uint16_t Wi232Register);
extern uint8_t Wi232_hardware;

/*Non-volatile Registers*/
/*              Name                    Address Description Default*/

#define regNVTXCHANNEL  0x00    /*Transmit channel setting 0*/
#define regNVRXCHANNEL  0x01    /*Receive channel setting 0*/
#define regNVPWRMODE    0x02    /*Operating mode settings +13 dBm widebandmode*/
#define regNVDATARATE   0x03    /*UART data rate 2400bps*/
#define regNVNETMODE    0x04    /*Network mode (Normal/Slave) Normal*/
#define regNVTXTO               0x05    /*Transmit wait timeout ~16ms*/
#define regNVNETGRP     0x06    /*Network group ID 0x00*/
#define regNVUSECRC     0x08    /*Enable/Disable CRC Enabled*/
#define regNVUARTMTU    0x09    /*Minimum transmission unit. 64 bytes*/
#define regNVSHOWVER    0x0A    /*Enable/Disable start-up message Enabled*/
#define regNVCSMAMODE   0x0B    /*Enable/Disable CSMA Enabled*/
#define regNVSLPMODE    0x0D    /*Power state of module Awake*/

/*Non-volatile Read Only Registers*/

/*              Name                    Address Description*/

#define regMAC0                 0x22    /*These registers form the unique 48-bit MAC address.*/
#define regMAC1                 0x23
#define regMAC2                 0x24
#define regOUI0                 0x25
#define regOUI1                 0x26
#define regOUI2                 0x27

/*Volatile Read/Write Registers*/
/*              Name                    Address Description*/
#define regTXCHANNEL    0x4B    /* Transmit channel setting*/
#define regRXCHANNEL    0x4C    /* Receive channel setting*/
#define regPWRMODE              0x4D    /* Operating mode settings*/
#define regDATARATE     0x4E    /* UART data rate*/
#define regNETMODE              0x4F    /* Network mode (Normal or Slave)*/
#define regTXTO                 0x50    /* Transmit wait timeout*/
#define regNETGRP               0x51    /* Network group ID*/
#define regUSECRC               0x53    /* Enable/Disable CRC*/
#define regUARTMTU              0x54    /* Minimum transmission unit.*/
#define Reserved                0x55
#define regCSMAMODE     0x56    /* Enable/disable CSMA*/
#define regSLPMODE              0x58    /* Power state of module*/
#define regDiscover             0x78    /* Versionsregister*/



/*Wideband Channels*/
/*regNVTXCHAN (0x00) regTXCHAN (0x4B)*/
/*              Channel                 Number  Frequency*/
#define wChan0                  0x00    /*868.300 MHz*/
#define wChan1                  0x01    /*868.95 MHz*/

/*Narrowband Channels*/
/*regNVRXCHAN (0x01) regRXCHAN (0x4C)*/
/*              Channel                 Number  Frequency*/
#define nChan0                  0x00    /*868.225 MHz*/
#define nChan1                  0x01    /*868.375 MHz*/
#define nChan2                  0x02    /*868.850 MHz*/
#define nChan3                  0x03    /*869.050 MHz*/
#define nChan4                  0x04    /*869.525 MHz*/
#define nChan5                  0x05    /*869.850 MHz*/

/* Power Mode*/
/*regNVPWRMODE (0x02) regPWRMODE (0x4D)*/
/*                                                               PM1 PM1 PM0 Mode*/
#define NbModeN2                0x00    /*0   0   0     Narrowband Mode – -2dBm power setting (typical)*/
#define WbModeP2                0x01    /*0   0   1     Wideband Mode – +2dBm power setting (typical)*/
#define WbModeP7                0x02    /*0   1   0     Wideband Mode – +7dBm power setting (typical)*/
#define WbModeP13               0x03    /*0   1   1     Wideband Mode – +13dBm power setting (typical)*/
#define WbModeN2                0x04    /*1   0   0     Wideband Mode – -2dBm power setting (typical)*/
#define NbModeP2                0x05    /*1   0   1     Narrowband Mode – +2dBm power setting (typical)*/
#define NbModeP7                0x06    /*1   1   0     Narrowband Mode – +7dBm power setting (typical)*/
#define NbModeP13               0x07    /*1   1   1     Narrowband Mode – +13dBm power setting (typical)*/

/* Wi232 UART Baudrate*/
/*regNVDATARATE (0x03) regDATARATE (0x4E)*/
/*                      Baud Rate                       BR2 BR1 BR0*/
#define Wi232_2400              0x00    /*0 0 0* (default 2400)*/
#define Wi232_9600              0x01    /*0 0 1*/
#define Wi232_19200     0x02    /*0 1 0*/
#define Wi232_38400     0x03    /*0 1 1*/
#define Wi232_57600     0x04    /*1 0 0*/
#define Wi232_115200    0x05    /*1 0 1*/
#define Wi232_10400     0x06    /*1 1 0*/
#define Wi232_31250     0x07    /*1 1 1*/

/* NetworkMode*/
/*regNVNETMODE (0x04) regNETMODE (0x4F)*/
#define NetMode_Normal  0x01    /* Normalmode (default)*/
#define NetMode_Slave   0x00    /* Slavemode*/

/*Transmit Wait Timeout*/
/*regNVTXTO (0x05) regTXTO (0x50)*/
#define TWaitTimeFull   0x00    /* full Buffer required*/
#define TWaitTime16             0x10    /* 16 ms Delay (default)*/

/*Network Group*/
/*regNVNETGRP (0x06) regNETGRP (0x51)*/
#define NetWorkGroup    0x00    /* default 0, valid 0-127*/


/*CRC Control*/
/*regNVUSECRC (0x08) regUSECRC (0x53)*/
#define CRC_Disable             0x00    /* no CRC check*/
#define CRC_Enable              0x01    /* CRC check (default)*/

/*UART minimum transmission unit*/
/*regNVUARTMTU (0x09) regUARTMTU (0x54)*/

#define UartMTU64                       64      /* default=64, valid 1-144*/

/*Verbose mode*/
/*regNVSHOWVER (0x0A)*/

#define ShowVers_En             0x01    /* show Startupmessage (default)*/
#define ShowVers_Dis    0x01    /* do not show Startupmessage*/

/*CSMA enable*/
/*regNVCSMAMODE (0x0B) regCSMAMODE (0x56)*/
#define CSMA_En                 0x01    /* enable CSMA Carrier-sense multiple access (default)*/
#define CSMA_Dis                0x00    /* disable CSMA */

/*Sleep control*/
/*regNVSLPMODE (0x0D) regSLPMODE (0x58)*/
#define Sleep_Awake             0x00    /* Sleepmode = Awake (default)*/
#define Sleep                   0x01    /* Sleepmode = Sleep*/
#define Sleep_Stby              0x02    /* Sleepmode = Standby*/



#endif /* WI232_H_ */