wave spectrum
/
SX126xDevKit
original
main.cpp@1:b96176a4ccb8, 2018-03-09 (annotated)
- Committer:
- GregCr
- Date:
- Fri Mar 09 13:28:34 2018 +0000
- Revision:
- 1:b96176a4ccb8
- Parent:
- 0:e5420f1a8a1a
- Child:
- 4:b9554d6a3eb8
V1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
GregCr | 0:e5420f1a8a1a | 1 | /* |
GregCr | 0:e5420f1a8a1a | 2 | ______ _ |
GregCr | 0:e5420f1a8a1a | 3 | / _____) _ | | |
GregCr | 0:e5420f1a8a1a | 4 | ( (____ _____ ____ _| |_ _____ ____| |__ |
GregCr | 0:e5420f1a8a1a | 5 | \____ \| ___ | (_ _) ___ |/ ___) _ \ |
GregCr | 0:e5420f1a8a1a | 6 | _____) ) ____| | | || |_| ____( (___| | | | |
GregCr | 0:e5420f1a8a1a | 7 | (______/|_____)_|_|_| \__)_____)\____)_| |_| |
GregCr | 0:e5420f1a8a1a | 8 | (C)2016 Semtech |
GregCr | 0:e5420f1a8a1a | 9 | |
GregCr | 0:e5420f1a8a1a | 10 | Description: Main program |
GregCr | 0:e5420f1a8a1a | 11 | |
GregCr | 0:e5420f1a8a1a | 12 | Maintainer: Gregory Cristian & Gilbert Menth |
GregCr | 0:e5420f1a8a1a | 13 | */ |
GregCr | 0:e5420f1a8a1a | 14 | |
GregCr | 0:e5420f1a8a1a | 15 | #include "mbed.h" |
GregCr | 0:e5420f1a8a1a | 16 | #include "Timers.h" |
GregCr | 0:e5420f1a8a1a | 17 | #include "Menu.h" |
GregCr | 0:e5420f1a8a1a | 18 | #include "Eeprom.h" |
GregCr | 0:e5420f1a8a1a | 19 | #include "stm32l4xx_hal.h" |
GregCr | 0:e5420f1a8a1a | 20 | |
GregCr | 0:e5420f1a8a1a | 21 | /*! |
GregCr | 0:e5420f1a8a1a | 22 | * \brief Define IO for Unused Pin |
GregCr | 0:e5420f1a8a1a | 23 | */ |
GregCr | 0:e5420f1a8a1a | 24 | DigitalOut F_CS( D6 ); // MBED description of pin |
GregCr | 0:e5420f1a8a1a | 25 | DigitalIn blueButton( USER_BUTTON ); |
GregCr | 0:e5420f1a8a1a | 26 | |
GregCr | 0:e5420f1a8a1a | 27 | void baud( int baudrate ) |
GregCr | 0:e5420f1a8a1a | 28 | { |
GregCr | 0:e5420f1a8a1a | 29 | Serial s( USBTX, USBRX ); |
GregCr | 0:e5420f1a8a1a | 30 | s.baud( baudrate ); |
GregCr | 0:e5420f1a8a1a | 31 | } |
GregCr | 0:e5420f1a8a1a | 32 | |
GregCr | 0:e5420f1a8a1a | 33 | int main( ) |
GregCr | 0:e5420f1a8a1a | 34 | { |
GregCr | 0:e5420f1a8a1a | 35 | uint8_t currentPage = START_PAGE; |
GregCr | 0:e5420f1a8a1a | 36 | uint8_t demoStatusUpdate = 0; |
GregCr | 0:e5420f1a8a1a | 37 | uint8_t deviceConnected = 0; |
GregCr | 1:b96176a4ccb8 | 38 | uint8_t matchingFreq = 0; |
GregCr | 0:e5420f1a8a1a | 39 | |
GregCr | 0:e5420f1a8a1a | 40 | if( blueButton == 0 ) |
GregCr | 0:e5420f1a8a1a | 41 | { |
GregCr | 1:b96176a4ccb8 | 42 | EepromEraseCheckSum( ); |
GregCr | 0:e5420f1a8a1a | 43 | NVIC_SystemReset( ); |
GregCr | 0:e5420f1a8a1a | 44 | } |
GregCr | 0:e5420f1a8a1a | 45 | |
GregCr | 0:e5420f1a8a1a | 46 | baud( 115200 ); // change here to increase or decrease the speed of the UART print |
GregCr | 0:e5420f1a8a1a | 47 | |
GregCr | 0:e5420f1a8a1a | 48 | F_CS = 1; |
GregCr | 0:e5420f1a8a1a | 49 | |
GregCr | 0:e5420f1a8a1a | 50 | deviceConnected = GetConnectedDevice( ); |
GregCr | 1:b96176a4ccb8 | 51 | matchingFreq = GetMatchingFrequency( ); |
GregCr | 1:b96176a4ccb8 | 52 | |
GregCr | 1:b96176a4ccb8 | 53 | EepromInit( deviceConnected, matchingFreq ); |
GregCr | 0:e5420f1a8a1a | 54 | InitDemoApplication( ); |
GregCr | 1:b96176a4ccb8 | 55 | MenuInit( deviceConnected, matchingFreq ); |
GregCr | 0:e5420f1a8a1a | 56 | TimersInit( ); |
GregCr | 0:e5420f1a8a1a | 57 | |
GregCr | 0:e5420f1a8a1a | 58 | printf( "Start SX126xDevKit : %s\n\r", FIRMWARE_VERSION ); |
GregCr | 0:e5420f1a8a1a | 59 | |
GregCr | 0:e5420f1a8a1a | 60 | while( 1 ) |
GregCr | 0:e5420f1a8a1a | 61 | { |
GregCr | 0:e5420f1a8a1a | 62 | currentPage = MenuHandler( demoStatusUpdate ); |
GregCr | 0:e5420f1a8a1a | 63 | |
GregCr | 0:e5420f1a8a1a | 64 | switch( currentPage ) |
GregCr | 0:e5420f1a8a1a | 65 | { |
GregCr | 0:e5420f1a8a1a | 66 | case START_PAGE: |
GregCr | 0:e5420f1a8a1a | 67 | break; |
GregCr | 0:e5420f1a8a1a | 68 | |
GregCr | 0:e5420f1a8a1a | 69 | case PAGE_PING_PONG: |
GregCr | 0:e5420f1a8a1a | 70 | demoStatusUpdate = RunDemoApplicationPingPong( ); |
GregCr | 0:e5420f1a8a1a | 71 | break; |
GregCr | 0:e5420f1a8a1a | 72 | |
GregCr | 0:e5420f1a8a1a | 73 | case PAGE_PER: |
GregCr | 0:e5420f1a8a1a | 74 | demoStatusUpdate = RunDemoApplicationPer( ); |
GregCr | 0:e5420f1a8a1a | 75 | break; |
GregCr | 0:e5420f1a8a1a | 76 | |
GregCr | 1:b96176a4ccb8 | 77 | case PAGE_RSSI_TEST: |
GregCr | 1:b96176a4ccb8 | 78 | demoStatusUpdate = RunDemoTestRssi( ); |
GregCr | 1:b96176a4ccb8 | 79 | break; |
GregCr | 1:b96176a4ccb8 | 80 | |
GregCr | 0:e5420f1a8a1a | 81 | case PAGE_SLEEP_MODE: |
GregCr | 0:e5420f1a8a1a | 82 | demoStatusUpdate = RunDemoSleepMode( ); |
GregCr | 0:e5420f1a8a1a | 83 | break; |
GregCr | 0:e5420f1a8a1a | 84 | |
GregCr | 0:e5420f1a8a1a | 85 | case PAGE_STBY_RC_MODE: |
GregCr | 0:e5420f1a8a1a | 86 | demoStatusUpdate = RunDemoStandbyRcMode( ); |
GregCr | 0:e5420f1a8a1a | 87 | break; |
GregCr | 0:e5420f1a8a1a | 88 | |
GregCr | 0:e5420f1a8a1a | 89 | case PAGE_STBY_XOSC_MODE: |
GregCr | 0:e5420f1a8a1a | 90 | demoStatusUpdate = RunDemoStandbyXoscMode( ); |
GregCr | 0:e5420f1a8a1a | 91 | break; |
GregCr | 0:e5420f1a8a1a | 92 | |
GregCr | 0:e5420f1a8a1a | 93 | case PAGE_TX_CW: |
GregCr | 0:e5420f1a8a1a | 94 | demoStatusUpdate = RunDemoTxCw( ); |
GregCr | 0:e5420f1a8a1a | 95 | break; |
GregCr | 0:e5420f1a8a1a | 96 | |
GregCr | 0:e5420f1a8a1a | 97 | case PAGE_CONT_MODULATION: |
GregCr | 0:e5420f1a8a1a | 98 | demoStatusUpdate = RunDemoTxContinuousModulation( ); |
GregCr | 0:e5420f1a8a1a | 99 | break; |
GregCr | 0:e5420f1a8a1a | 100 | |
GregCr | 0:e5420f1a8a1a | 101 | case PAGE_CONT_RX: |
GregCr | 0:e5420f1a8a1a | 102 | demoStatusUpdate = RunDemoRxContinuous( ); |
GregCr | 0:e5420f1a8a1a | 103 | break; |
GregCr | 0:e5420f1a8a1a | 104 | case PAGE_UTILITIES: |
GregCr | 0:e5420f1a8a1a | 105 | break; |
GregCr | 0:e5420f1a8a1a | 106 | |
GregCr | 0:e5420f1a8a1a | 107 | default: // Any page not running a demo |
GregCr | 0:e5420f1a8a1a | 108 | break; |
GregCr | 0:e5420f1a8a1a | 109 | } |
GregCr | 0:e5420f1a8a1a | 110 | } |
GregCr | 0:e5420f1a8a1a | 111 | } |