aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/fsm/FreeRTOSConfig.h2
-rw-r--r--src/fsm/audio.c2
-rw-r--r--src/fsm/cw.c6
-rw-r--r--src/fsm/main.c3
4 files changed, 11 insertions, 2 deletions
diff --git a/src/fsm/FreeRTOSConfig.h b/src/fsm/FreeRTOSConfig.h
index 8ae6698..81725ac 100644
--- a/src/fsm/FreeRTOSConfig.h
+++ b/src/fsm/FreeRTOSConfig.h
@@ -89,7 +89,7 @@
#define configUSE_IDLE_HOOK 0 // Default: 1
#define configUSE_TICK_HOOK 0 // Default: 1
#define configCPU_CLOCK_HZ ( SystemCoreClock )
-#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
+#define configTICK_RATE_HZ ( ( portTickType ) 250 )
#define configMAX_PRIORITIES ( 5 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 130 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 75 * 1024 ) )
diff --git a/src/fsm/audio.c b/src/fsm/audio.c
index 257ef2f..6ecea62 100644
--- a/src/fsm/audio.c
+++ b/src/fsm/audio.c
@@ -121,7 +121,7 @@ void AudioOn() {
}
void AudioOff() {
- WriteRegister(0x02, 0x01);
+ WriteRegister(0x02, 0x9f);
SPI3 ->I2SCFGR = 0;
}
diff --git a/src/fsm/cw.c b/src/fsm/cw.c
index 7528fa8..f5b26b4 100644
--- a/src/fsm/cw.c
+++ b/src/fsm/cw.c
@@ -508,6 +508,9 @@ static void cw_psk31_task(void *pvParameters)
cw_transmit_ongoing = 1;
+ // Audio should be off, turn it on
+ AudioOn();
+
if (cw_fill_msg_current.dit_duration) {
cw_psk31_buffer_len = cw_text_to_on_buffer(
cw_fill_msg_current.message,
@@ -560,6 +563,9 @@ static void cw_psk31_task(void *pvParameters)
// We have completed this message
cw_transmit_ongoing = 0;
+
+ // Turn off audio to save power
+ AudioOff();
}
}
}
diff --git a/src/fsm/main.c b/src/fsm/main.c
index aba3465..516aace 100644
--- a/src/fsm/main.c
+++ b/src/fsm/main.c
@@ -172,6 +172,9 @@ static void launcher_task(void *pvParameters)
usart_debug_puts("Audio set callback\r\n");
PlayAudioWithCallback(audio_callback, NULL);
+ // By default, let's the audio off to save power
+ AudioOff();
+
usart_debug_puts("Init done.\r\n");
/* We are done now, suspend this task