From afe4f46d0ce47c6b61998bef8fc964874d175914 Mon Sep 17 00:00:00 2001 From: Heltec-Aaron-Lee Date: Wed, 3 Feb 2021 17:18:00 +0800 Subject: [PATCH] updated lowpower that Serial can work when uart rx is high --- cores/asr650x/Serial/HardwareSerial.cpp | 6 +++--- cores/asr650x/device/asr6501_lrwan/radio.c | 4 +++- .../asr650x/loramac/mac/region/RegionCN470.c | 2 +- cores/asr650x/loramac/system/low_power.c | 5 +++++ cores/asr650x/projects/CubeCellLib.a | Bin 258338 -> 258226 bytes cores/asr650x/projects/PSoC4/CyLFClk.c | 8 ++++++++ 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/cores/asr650x/Serial/HardwareSerial.cpp b/cores/asr650x/Serial/HardwareSerial.cpp index ba2524cc..e059fc35 100644 --- a/cores/asr650x/Serial/HardwareSerial.cpp +++ b/cores/asr650x/Serial/HardwareSerial.cpp @@ -61,8 +61,8 @@ void HardwareSerial::begin(unsigned long baud , uint32_t config, int8_t uart_num if( _uart_num == UART_NUM_0) { - if(digitalRead(UART_RX)==UART_RX_LEVEL)//uart start when uart chip powered - { + //if(digitalRead(UART_RX)==UART_RX_LEVEL)//uart start when uart chip powered + //{ uint32_t div = (float)CYDEV_BCLK__HFCLK__HZ/SerialBaud/UART_1_UART_OVS_FACTOR + 0.5 - 1; UART_1_Start(); UART_1_SCBCLK_DIV_REG = div<<8; @@ -70,7 +70,7 @@ void HardwareSerial::begin(unsigned long baud , uint32_t config, int8_t uart_num UART_1_RX_CTRL_REG =rx_ctrl1; UART_1_UART_TX_CTRL_REG =tx_ctrl0; UART_1_TX_CTRL_REG = tx_ctrl1; - } + //} } else { diff --git a/cores/asr650x/device/asr6501_lrwan/radio.c b/cores/asr650x/device/asr6501_lrwan/radio.c index d38e4730..5fcf9220 100644 --- a/cores/asr650x/device/asr6501_lrwan/radio.c +++ b/cores/asr650x/device/asr6501_lrwan/radio.c @@ -1118,11 +1118,13 @@ void RadioOnCadTimeoutIrq( void ) RadioEvents->CadDone( 0 ); } } - +extern uint8 UART_1_initVar; extern void enableUart(void); void RadioOnDioIrq( void ) { pinMode(P4_1,INPUT); + if(UART_1_initVar) + pinMode(P3_1,OUTPUT_PULLUP); IrqFired = true; RadioIrqProcess(); } diff --git a/cores/asr650x/loramac/mac/region/RegionCN470.c b/cores/asr650x/loramac/mac/region/RegionCN470.c index 247020f0..89ff5e1a 100644 --- a/cores/asr650x/loramac/mac/region/RegionCN470.c +++ b/cores/asr650x/loramac/mac/region/RegionCN470.c @@ -556,7 +556,7 @@ bool RegionCN470TxConfig( TxConfigParams_t* txConfig, int8_t* txPower, TimerTime // Setup the radio frequency Radio.SetChannel( Channels[txConfig->Channel].Frequency ); - Radio.SetTxConfig( MODEM_LORA, phyTxPower, 0, 0, phyDr, 1, 16, false, true, 0, 0, false, 3000 ); + Radio.SetTxConfig( MODEM_LORA, phyTxPower, 0, 0, phyDr, 1, 16, false, true, 0, 0, false, 4000 ); FREQ_PRINTF("TX on freq %u Hz at DR %d power %d\r\n", (unsigned int)Channels[txConfig->Channel].Frequency, txConfig->Datarate,phyTxPower); // Setup maximum payload lenght of the radio driver diff --git a/cores/asr650x/loramac/system/low_power.c b/cores/asr650x/loramac/system/low_power.c index 34773fc6..ba541f89 100644 --- a/cores/asr650x/loramac/system/low_power.c +++ b/cores/asr650x/loramac/system/low_power.c @@ -110,6 +110,7 @@ uint32_t LowPower_GetState( void ) */ extern uint32_t systime; extern void systemTimer(); +extern uint8 UART_1_initVar; void lowPowerHandler( void ) { @@ -118,6 +119,8 @@ void lowPowerHandler( void ) if (LowPower_State == 0 && wakeByUart == false) { DBG_PRINTF_CRITICAL("dz\n\r"); pinMode(P4_1,ANALOG);// SPI0 MISO; + if(UART_1_initVar) + pinMode(P3_1,ANALOG); aos_lrwan_chg_mode.enter_stop_mode(); /* mcu dependent. to be implemented by user*/ aos_lrwan_chg_mode.exit_stop_mode(); @@ -125,6 +128,8 @@ void lowPowerHandler( void ) CySysTickSetCallback(4,systemTimer); systime = (uint32_t)TimerGetCurrentTime(); pinMode(P4_1,INPUT); + if(UART_1_initVar) + pinMode(P3_1,OUTPUT_PULLUP); } else { //DBG_PRINTF_CRITICAL("z\n\r"); aos_lrwan_chg_mode.enter_sleep_mode(); diff --git a/cores/asr650x/projects/CubeCellLib.a b/cores/asr650x/projects/CubeCellLib.a index 7f9aad64d1350443aa218b41e1f939224ca550d2..da26ff4fa4d4d074bfcf117eab1c105bf8dcad82 100644 GIT binary patch delta 32244 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