Fix modulator configuration issue when running without battery. Update version to 1.1.5.

fsk9600 v1.1.5
Rob Riggs 2019-10-20 15:31:53 -05:00
rodzic 37e220afe6
commit 5aaed41cac
5 zmienionych plików z 15 dodań i 1 usunięć

Wyświetl plik

@ -55,6 +55,7 @@
/* USER CODE BEGIN Includes */ /* USER CODE BEGIN Includes */
#include <stdint.h> #include <stdint.h>
#include <cmsis_os.h>
/* USER CODE END Includes */ /* USER CODE END Includes */
/* Private define ------------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/
@ -163,6 +164,7 @@ extern int go_back_to_sleep;
extern int usb_wake_state; extern int usb_wake_state;
extern int charging_enabled; extern int charging_enabled;
extern int reset_button; extern int reset_button;
extern osMutexId hardwareInitMutexHandle;
#define CxxErrorHandler() _Error_Handler(const_cast<char*>(__FILE__), __LINE__) #define CxxErrorHandler() _Error_Handler(const_cast<char*>(__FILE__), __LINE__)

Wyświetl plik

@ -144,6 +144,7 @@ osStaticTimerDef_t usbShutdownTimerControlBlock;
/* USER CODE BEGIN PV */ /* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/
osMutexId hardwareInitMutexHandle;
int lost_power = 0; int lost_power = 0;
int reset_requested = 0; int reset_requested = 0;
@ -501,6 +502,10 @@ int main(void)
/* USER CODE BEGIN RTOS_MUTEX */ /* USER CODE BEGIN RTOS_MUTEX */
/* add mutexes, ... */ /* add mutexes, ... */
osMutexDef(hardwareInitMutex);
hardwareInitMutexHandle = osMutexCreate(osMutex(hardwareInitMutex));
osMutexWait(hardwareInitMutexHandle, osWaitForever);
/* USER CODE END RTOS_MUTEX */ /* USER CODE END RTOS_MUTEX */
/* USER CODE BEGIN RTOS_SEMAPHORES */ /* USER CODE BEGIN RTOS_SEMAPHORES */

Wyświetl plik

@ -61,7 +61,10 @@ void startIOEventTask(void const*)
hardware.store(); hardware.store();
} }
osMutexRelease(hardwareInitMutexHandle);
if (!go_back_to_sleep) { if (!go_back_to_sleep) {
hardware.debug(); hardware.debug();
audio::init_log_volume(); audio::init_log_volume();

Wyświetl plik

@ -26,7 +26,7 @@ int powerOffViaUSB(void)
namespace mobilinkd { namespace tnc { namespace kiss { namespace mobilinkd { namespace tnc { namespace kiss {
const char FIRMWARE_VERSION[] = "1.1.4"; const char FIRMWARE_VERSION[] = "1.1.5";
const char HARDWARE_VERSION[] = "Mobilinkd TNC3 2.1.1"; const char HARDWARE_VERSION[] = "Mobilinkd TNC3 2.1.1";
Hardware& settings() Hardware& settings()

Wyświetl plik

@ -3,6 +3,7 @@
#include "ModulatorTask.hpp" #include "ModulatorTask.hpp"
#include "KissHardware.hpp" #include "KissHardware.hpp"
#include "main.h"
mobilinkd::tnc::SimplexPTT simplexPtt; mobilinkd::tnc::SimplexPTT simplexPtt;
mobilinkd::tnc::MultiplexPTT multiplexPtt; mobilinkd::tnc::MultiplexPTT multiplexPtt;
@ -69,6 +70,9 @@ void startModulatorTask(void const*) {
using namespace mobilinkd::tnc::kiss; using namespace mobilinkd::tnc::kiss;
// Wait until hardware is initialized before creating modulator.
osMutexWait(hardwareInitMutexHandle, osWaitForever);
modulator = &(getModulator()); modulator = &(getModulator());
encoder = &(getEncoder()); encoder = &(getEncoder());