Test program to test the NorAm Mote program

Dependencies:   SX127x NorAmMote_PA_Test

/media/uploads/efountain/20140904_144919-1-.jpg

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?

UserRevisionLine numberNew 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 }