Test program to test the NorAm Mote program
Dependencies: SX127x NorAmMote_PA_Test
main.cpp@0:54963d7c680c, 2014-09-04 (annotated)
- Committer:
- efountain
- Date:
- Thu Sep 04 21:05:36 2014 +0000
- Revision:
- 0:54963d7c680c
Test program to test the PA_Boost port of the NorAm Mote
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
efountain | 0:54963d7c680c | 1 | #include "mbed.h" |
efountain | 0:54963d7c680c | 2 | #include "sx127x.h" |
efountain | 0:54963d7c680c | 3 | |
efountain | 0:54963d7c680c | 4 | #define RADIO_RESET PC_2 //NorAm_Mote Reset_sx |
efountain | 0:54963d7c680c | 5 | #define RADIO_MOSI PB_15 //NorAm_Mote SPI2 Mosi |
efountain | 0:54963d7c680c | 6 | #define RADIO_MISO PB_14 //NorAm_Mote SPI2 Miso |
efountain | 0:54963d7c680c | 7 | #define RADIO_SCLK PB_13 //NorAm_Mote SPI2 Clk |
efountain | 0:54963d7c680c | 8 | #define RADIO_NSS PB_12 //NorAm_Mote SPI2 Nss |
efountain | 0:54963d7c680c | 9 | |
efountain | 0:54963d7c680c | 10 | #define RADIO_DIO_0 PC_6 //NorAm_Mote DIO0 |
efountain | 0:54963d7c680c | 11 | #define RADIO_DIO_1 PC_10 //NorAm_Mote DIO1 |
efountain | 0:54963d7c680c | 12 | #define RADIO_DIO_2 PC_8 //NorAm_Mote DIO2 |
efountain | 0:54963d7c680c | 13 | #define RADIO_DIO_3 PB_4 //NorAm_Mote DIO3 |
efountain | 0:54963d7c680c | 14 | #define RADIO_DIO_4 PB_5 //NorAm_Mote DIO4 |
efountain | 0:54963d7c680c | 15 | #define RADIO_DIO_5 PB_6 //NorAm_Mote DIO5 |
efountain | 0:54963d7c680c | 16 | |
efountain | 0:54963d7c680c | 17 | #define RADIO_ANT_SWITCH_RX PC_4 //NorAm_Mote RFSwitch_CNTR_1 |
efountain | 0:54963d7c680c | 18 | #define RADIO_ANT_SWITCH_TX PA_4 //NorAm_Mote RFSwitch_CNTR_2 |
efountain | 0:54963d7c680c | 19 | |
efountain | 0:54963d7c680c | 20 | DigitalOut myled(PA_5); |
efountain | 0:54963d7c680c | 21 | DigitalOut RFSwitch_CNTR_1(PC_4); |
efountain | 0:54963d7c680c | 22 | DigitalOut RFSwitch_CNTR_2(PC_13); |
efountain | 0:54963d7c680c | 23 | DigitalOut PA_HIGH_Power(PD_2); |
efountain | 0:54963d7c680c | 24 | AnalogIn batt_volt(A1); |
efountain | 0:54963d7c680c | 25 | |
efountain | 0:54963d7c680c | 26 | SX127x radio( RADIO_MOSI, \ |
efountain | 0:54963d7c680c | 27 | RADIO_MISO, \ |
efountain | 0:54963d7c680c | 28 | RADIO_SCLK, \ |
efountain | 0:54963d7c680c | 29 | RADIO_NSS, \ |
efountain | 0:54963d7c680c | 30 | RADIO_RESET, \ |
efountain | 0:54963d7c680c | 31 | RADIO_DIO_0, \ |
efountain | 0:54963d7c680c | 32 | RADIO_DIO_1, \ |
efountain | 0:54963d7c680c | 33 | RADIO_ANT_SWITCH_RX , \ |
efountain | 0:54963d7c680c | 34 | RADIO_ANT_SWITCH_TX ); |
efountain | 0:54963d7c680c | 35 | |
efountain | 0:54963d7c680c | 36 | int n=0; |
efountain | 0:54963d7c680c | 37 | |
efountain | 0:54963d7c680c | 38 | int main() { |
efountain | 0:54963d7c680c | 39 | RFSwitch_CNTR_1 = 1; |
efountain | 0:54963d7c680c | 40 | RFSwitch_CNTR_2 = 0; |
efountain | 0:54963d7c680c | 41 | PA_HIGH_Power = 0; |
efountain | 0:54963d7c680c | 42 | |
efountain | 0:54963d7c680c | 43 | radio.init(); |
efountain | 0:54963d7c680c | 44 | radio.hw_reset(); |
efountain | 0:54963d7c680c | 45 | radio.set_frf_MHz(915.0); |
efountain | 0:54963d7c680c | 46 | //TX Control Registers |
efountain | 0:54963d7c680c | 47 | |
efountain | 0:54963d7c680c | 48 | radio.write_reg(0x01,0x23); //RegOpMode OOK, TX mode |
efountain | 0:54963d7c680c | 49 | radio.write_reg(0x09,0x8F); //RegPaConfig PA_BOOST, Max Power |
efountain | 0:54963d7c680c | 50 | radio.write_reg(0x0A,0x19); //RegPaRamp Std PLL, 40uS (default) |
efountain | 0:54963d7c680c | 51 | radio.write_reg(0x0B,0x37); //RegOcp OCP Enabled, 240mA |
efountain | 0:54963d7c680c | 52 | radio.write_reg(0x24,0x07); //RegOsc OFF |
efountain | 0:54963d7c680c | 53 | radio.write_reg(0x30,0x90); //RegPacketConfig1 Continuous Mode |
efountain | 0:54963d7c680c | 54 | radio.write_reg(0x31,0x00); //RegPacketCongig2 Payload Length |
efountain | 0:54963d7c680c | 55 | radio.write_reg(0x5A,0x87); //RegPaDac High Power |
efountain | 0:54963d7c680c | 56 | |
efountain | 0:54963d7c680c | 57 | |
efountain | 0:54963d7c680c | 58 | while(1) { |
efountain | 0:54963d7c680c | 59 | |
efountain | 0:54963d7c680c | 60 | myled = 1; // LED is ON |
efountain | 0:54963d7c680c | 61 | wait(0.2); // 200 ms |
efountain | 0:54963d7c680c | 62 | myled = 0; // LED is OFF |
efountain | 0:54963d7c680c | 63 | wait(0.8); // 800 msec |
efountain | 0:54963d7c680c | 64 | |
efountain | 0:54963d7c680c | 65 | } |
efountain | 0:54963d7c680c | 66 | } |