Files

423 lines
16 KiB
C
Raw Permalink Normal View History

2016-10-07 23:44:50 +02:00
/*
* Standards.c
*
* Created on: 15.02.2013
* Author: skuser
*/
#include "Configuration.h"
#include "Settings.h"
#include <avr/pgmspace.h>
#include "Map.h"
#include "AntennaLevel.h"
/* Map IDs to text */
static const MapEntryType PROGMEM ConfigurationMap[] = {
2017-11-07 15:53:23 +01:00
{ .Id = CONFIG_NONE, .Text = "NONE" },
2016-10-07 23:44:50 +02:00
#ifdef CONFIG_MF_ULTRALIGHT_SUPPORT
2017-11-07 15:53:23 +01:00
{ .Id = CONFIG_MF_ULTRALIGHT, .Text = "MF_ULTRALIGHT" },
2017-11-17 18:58:54 +01:00
{ .Id = CONFIG_MF_ULTRALIGHT_EV1_80B, .Text = "MF_ULTRALIGHT_EV1_80B" },
2017-11-17 19:27:20 +01:00
{ .Id = CONFIG_MF_ULTRALIGHT_EV1_164B, .Text = "MF_ULTRALIGHT_EV1_164B" },
2019-09-17 10:25:14 +02:00
{.Id = CONFIG_MF_ULTRALIGHT_C, .Text = "MF_ULTRALIGHT_C"},
2016-10-07 23:44:50 +02:00
#endif
2019-08-16 14:27:48 +01:00
#ifdef CONFIG_MF_CLASSIC_MINI_4B_SUPPORT
{ .Id = CONFIG_MF_CLASSIC_MINI_4B, .Text = "MF_CLASSIC_MINI_4B" },
#endif
2016-10-07 23:44:50 +02:00
#ifdef CONFIG_MF_CLASSIC_1K_SUPPORT
2017-11-07 15:53:23 +01:00
{ .Id = CONFIG_MF_CLASSIC_1K, .Text = "MF_CLASSIC_1K" },
2016-10-07 23:44:50 +02:00
#endif
#ifdef CONFIG_MF_CLASSIC_1K_7B_SUPPORT
2017-11-07 15:53:23 +01:00
{ .Id = CONFIG_MF_CLASSIC_1K_7B, .Text = "MF_CLASSIC_1K_7B" },
2016-10-07 23:44:50 +02:00
#endif
#ifdef CONFIG_MF_CLASSIC_4K_SUPPORT
2017-11-07 15:53:23 +01:00
{ .Id = CONFIG_MF_CLASSIC_4K, .Text = "MF_CLASSIC_4K" },
2016-10-07 23:44:50 +02:00
#endif
#ifdef CONFIG_MF_CLASSIC_4K_7B_SUPPORT
2017-11-07 15:53:23 +01:00
{ .Id = CONFIG_MF_CLASSIC_4K_7B, .Text = "MF_CLASSIC_4K_7B" },
2016-10-07 23:44:50 +02:00
#endif
#ifdef CONFIG_ISO14443A_SNIFF_SUPPORT
2017-11-07 15:53:23 +01:00
{ .Id = CONFIG_ISO14443A_SNIFF, .Text = "ISO14443A_SNIFF" },
2016-10-07 23:44:50 +02:00
#endif
#ifdef CONFIG_ISO14443A_READER_SUPPORT
2017-11-07 15:53:23 +01:00
{ .Id = CONFIG_ISO14443A_READER, .Text = "ISO14443A_READER" },
2016-10-07 23:44:50 +02:00
#endif
2017-08-31 14:00:59 +02:00
#ifdef CONFIG_VICINITY_SUPPORT
2018-12-19 17:23:19 +01:00
{ .Id = CONFIG_VICINITY, .Text = "VICINITY" },
2017-08-31 14:00:59 +02:00
#endif
2017-09-20 16:40:55 +02:00
#ifdef CONFIG_ISO15693_SNIFF_SUPPORT
2018-12-19 17:23:19 +01:00
{ .Id = CONFIG_ISO15693_SNIFF, .Text = "ISO15693_SNIFF" },
2017-09-20 16:40:55 +02:00
#endif
#ifdef CONFIG_SL2S2002_SUPPORT
2018-12-19 17:23:19 +01:00
{ .Id = CONFIG_SL2S2002, .Text = "SL2S2002" },
2017-09-20 16:40:55 +02:00
#endif
#ifdef CONFIG_TITAGITSTANDARD_SUPPORT
2018-12-19 17:23:19 +01:00
{ .Id = CONFIG_TITAGITSTANDARD, .Text = "TITAGITSTANDARD" },
#endif
2018-12-10 19:43:43 +01:00
#ifdef CONFIG_EM4233_SUPPORT
2018-12-19 17:23:19 +01:00
{ .Id = CONFIG_EM4233, .Text = "EM4233" },
2018-12-10 19:43:43 +01:00
#endif
2016-10-07 23:44:50 +02:00
};
/* Include all Codecs and Applications */
#include "Codec/Codec.h"
#include "Application/Application.h"
static void CodecInitDummy(void) { }
static void CodecDeInitDummy(void) { }
static void CodecTaskDummy(void) { }
static void ApplicationInitDummy(void) {}
static void ApplicationResetDummy(void) {}
static void ApplicationTaskDummy(void) {}
static void ApplicationTickDummy(void) {}
2019-11-15 10:21:40 +01:00
static uint16_t ApplicationProcessDummy(uint8_t *ByteBuffer, uint16_t ByteCount) { return 0; }
2016-10-07 23:44:50 +02:00
static void ApplicationGetUidDummy(ConfigurationUidType Uid) { }
static void ApplicationSetUidDummy(ConfigurationUidType Uid) { }
static const PROGMEM ConfigurationType ConfigurationTable[] = {
[CONFIG_NONE] = {
.CodecInitFunc = CodecInitDummy,
.CodecDeInitFunc = CodecDeInitDummy,
.CodecTaskFunc = CodecTaskDummy,
.ApplicationInitFunc = ApplicationInitDummy,
.ApplicationResetFunc = ApplicationResetDummy,
.ApplicationTaskFunc = ApplicationTaskDummy,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = ApplicationProcessDummy,
.ApplicationGetUidFunc = ApplicationGetUidDummy,
.ApplicationSetUidFunc = ApplicationSetUidDummy,
.UidSize = 0,
.MemorySize = 0,
2018-11-28 18:40:51 +01:00
.ReadOnly = true,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_NONE
2016-10-07 23:44:50 +02:00
},
#ifdef CONFIG_MF_ULTRALIGHT_SUPPORT
[CONFIG_MF_ULTRALIGHT] = {
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareUltralightAppInit,
.ApplicationResetFunc = MifareUltralightAppReset,
2017-11-17 18:58:54 +01:00
.ApplicationTaskFunc = MifareUltralightAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareUltralightAppProcess,
.ApplicationGetUidFunc = MifareUltralightGetUid,
.ApplicationSetUidFunc = MifareUltralightSetUid,
.UidSize = MIFARE_ULTRALIGHT_UID_SIZE,
.MemorySize = MIFARE_ULTRALIGHT_MEM_SIZE,
2018-11-28 18:40:51 +01:00
.ReadOnly = false,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_ISO14443A
2017-11-17 18:58:54 +01:00
},
2019-11-15 10:21:40 +01:00
[CONFIG_MF_ULTRALIGHT_C] = {
2019-09-17 10:25:14 +02:00
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareUltralightCAppInit,
.ApplicationResetFunc = MifareUltralightCAppReset,
.ApplicationTaskFunc = MifareUltralightAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareUltralightAppProcess,
.ApplicationGetUidFunc = MifareUltralightGetUid,
.ApplicationSetUidFunc = MifareUltralightSetUid,
.UidSize = MIFARE_ULTRALIGHT_UID_SIZE,
.MemorySize = MIFARE_ULTRALIGHTC_MEM_SIZE,
.ReadOnly = false,
.TagFamily = TAG_FAMILY_ISO14443A
},
2017-11-17 18:58:54 +01:00
[CONFIG_MF_ULTRALIGHT_EV1_80B] = {
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareUltralightEV11AppInit,
.ApplicationResetFunc = MifareUltralightAppReset,
.ApplicationTaskFunc = MifareUltralightAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareUltralightAppProcess,
.ApplicationGetUidFunc = MifareUltralightGetUid,
.ApplicationSetUidFunc = MifareUltralightSetUid,
.UidSize = MIFARE_ULTRALIGHT_UID_SIZE,
2017-11-17 19:27:20 +01:00
.MemorySize = MIFARE_ULTRALIGHT_EV11_MEM_SIZE,
2018-11-28 18:40:51 +01:00
.ReadOnly = false,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_ISO14443A
2017-11-17 18:58:54 +01:00
},
[CONFIG_MF_ULTRALIGHT_EV1_164B] = {
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareUltralightEV12AppInit,
.ApplicationResetFunc = MifareUltralightAppReset,
2016-10-07 23:44:50 +02:00
.ApplicationTaskFunc = MifareUltralightAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareUltralightAppProcess,
.ApplicationGetUidFunc = MifareUltralightGetUid,
.ApplicationSetUidFunc = MifareUltralightSetUid,
.UidSize = MIFARE_ULTRALIGHT_UID_SIZE,
2017-11-17 19:27:20 +01:00
.MemorySize = MIFARE_ULTRALIGHT_EV12_MEM_SIZE,
2018-11-28 18:40:51 +01:00
.ReadOnly = false,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_ISO14443A
2016-10-07 23:44:50 +02:00
},
#endif
2019-08-16 14:27:48 +01:00
#ifdef CONFIG_MF_CLASSIC_MINI_4B_SUPPORT
[CONFIG_MF_CLASSIC_MINI_4B] = {
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareClassicAppInitMini4B,
.ApplicationResetFunc = MifareClassicAppReset,
.ApplicationTaskFunc = MifareClassicAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareClassicAppProcess,
.ApplicationGetUidFunc = MifareClassicGetUid,
.ApplicationSetUidFunc = MifareClassicSetUid,
.UidSize = MIFARE_CLASSIC_UID_SIZE,
.MemorySize = MIFARE_CLASSIC_MINI_MEM_SIZE,
.ReadOnly = false,
.TagFamily = TAG_FAMILY_ISO14443A
},
#endif
2016-10-07 23:44:50 +02:00
#ifdef CONFIG_MF_CLASSIC_1K_SUPPORT
[CONFIG_MF_CLASSIC_1K] = {
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareClassicAppInit1K,
.ApplicationResetFunc = MifareClassicAppReset,
.ApplicationTaskFunc = MifareClassicAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareClassicAppProcess,
.ApplicationGetUidFunc = MifareClassicGetUid,
.ApplicationSetUidFunc = MifareClassicSetUid,
.UidSize = MIFARE_CLASSIC_UID_SIZE,
.MemorySize = MIFARE_CLASSIC_1K_MEM_SIZE,
2018-11-28 18:40:51 +01:00
.ReadOnly = false,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_ISO14443A
2016-10-07 23:44:50 +02:00
},
#endif
#ifdef CONFIG_MF_CLASSIC_1K_7B_SUPPORT
[CONFIG_MF_CLASSIC_1K_7B] = {
2017-11-07 17:05:56 +01:00
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareClassicAppInit1K7B,
.ApplicationResetFunc = MifareClassicAppReset,
.ApplicationTaskFunc = MifareClassicAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareClassicAppProcess,
.ApplicationGetUidFunc = MifareClassicGetUid,
.ApplicationSetUidFunc = MifareClassicSetUid,
.UidSize = ISO14443A_UID_SIZE_DOUBLE,
.MemorySize = MIFARE_CLASSIC_1K_MEM_SIZE,
2018-11-28 18:40:51 +01:00
.ReadOnly = false,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_ISO14443A
},
2016-10-07 23:44:50 +02:00
#endif
#ifdef CONFIG_MF_CLASSIC_4K_SUPPORT
[CONFIG_MF_CLASSIC_4K] = {
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareClassicAppInit4K,
.ApplicationResetFunc = MifareClassicAppReset,
.ApplicationTaskFunc = MifareClassicAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareClassicAppProcess,
.ApplicationGetUidFunc = MifareClassicGetUid,
.ApplicationSetUidFunc = MifareClassicSetUid,
.UidSize = MIFARE_CLASSIC_UID_SIZE,
.MemorySize = MIFARE_CLASSIC_4K_MEM_SIZE,
2018-11-28 18:40:51 +01:00
.ReadOnly = false,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_ISO14443A
2016-10-07 23:44:50 +02:00
},
#endif
#ifdef CONFIG_MF_CLASSIC_4K_7B_SUPPORT
[CONFIG_MF_CLASSIC_4K_7B] = {
.CodecInitFunc = ISO14443ACodecInit,
.CodecDeInitFunc = ISO14443ACodecDeInit,
.CodecTaskFunc = ISO14443ACodecTask,
.ApplicationInitFunc = MifareClassicAppInit4K7B,
2016-10-07 23:44:50 +02:00
.ApplicationResetFunc = MifareClassicAppReset,
.ApplicationTaskFunc = MifareClassicAppTask,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = MifareClassicAppProcess,
.ApplicationGetUidFunc = MifareClassicGetUid,
.ApplicationSetUidFunc = MifareClassicSetUid,
.UidSize = ISO14443A_UID_SIZE_DOUBLE,
.MemorySize = MIFARE_CLASSIC_4K_MEM_SIZE,
2018-11-28 18:40:51 +01:00
.ReadOnly = false,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_ISO14443A
2016-10-07 23:44:50 +02:00
},
#endif
#ifdef CONFIG_ISO14443A_SNIFF_SUPPORT
[CONFIG_ISO14443A_SNIFF] = {
2018-07-08 01:27:05 +01:00
.CodecInitFunc = Sniff14443ACodecInit,
.CodecDeInitFunc = Sniff14443ACodecDeInit,
.CodecTaskFunc = Sniff14443ACodecTask,
.ApplicationInitFunc = Sniff14443AAppInit,
.ApplicationResetFunc = Sniff14443AAppReset,
.ApplicationTaskFunc = Sniff14443AAppTask,
.ApplicationTickFunc = Sniff14443AAppTick,
.ApplicationProcessFunc = Sniff14443AAppProcess,
2017-11-07 15:53:23 +01:00
.ApplicationGetUidFunc = ApplicationGetUidDummy,
.ApplicationSetUidFunc = ApplicationSetUidDummy,
.UidSize = 0,
.MemorySize = 0,
2018-11-28 18:40:51 +01:00
.ReadOnly = true,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_NONE
2016-10-07 23:44:50 +02:00
},
#endif
#ifdef CONFIG_ISO14443A_READER_SUPPORT
[CONFIG_ISO14443A_READER] = {
2017-11-07 15:53:23 +01:00
.CodecInitFunc = Reader14443ACodecInit,
.CodecDeInitFunc = Reader14443ACodecDeInit,
.CodecTaskFunc = Reader14443ACodecTask,
.ApplicationInitFunc = Reader14443AAppInit,
.ApplicationResetFunc = Reader14443AAppReset,
.ApplicationTaskFunc = Reader14443AAppTask,
.ApplicationTickFunc = Reader14443AAppTick,
.ApplicationProcessFunc = Reader14443AAppProcess,
.ApplicationGetUidFunc = ApplicationGetUidDummy,
.ApplicationSetUidFunc = ApplicationSetUidDummy,
.UidSize = 0,
.MemorySize = 0,
2018-11-28 18:40:51 +01:00
.ReadOnly = false,
2018-12-19 17:23:19 +01:00
.TagFamily = TAG_FAMILY_NONE
2016-10-07 23:44:50 +02:00
},
#endif
2017-08-31 14:00:59 +02:00
#ifdef CONFIG_VICINITY_SUPPORT
[CONFIG_VICINITY] = {
2018-12-19 17:23:19 +01:00
.CodecInitFunc = ISO15693CodecInit,
.CodecDeInitFunc = ISO15693CodecDeInit,
.CodecTaskFunc = ISO15693CodecTask,
.ApplicationInitFunc = VicinityAppInit,
.ApplicationResetFunc = VicinityAppReset,
.ApplicationTaskFunc = VicinityAppTask,
.ApplicationTickFunc = VicinityAppTick,
.ApplicationProcessFunc = VicinityAppProcess,
.ApplicationGetUidFunc = VicinityGetUid,
.ApplicationSetUidFunc = VicinitySetUid,
.UidSize = ISO15693_GENERIC_UID_SIZE,
.MemorySize = ISO15693_GENERIC_MEM_SIZE,
.ReadOnly = false,
.TagFamily = TAG_FAMILY_ISO15693
2017-08-31 14:00:59 +02:00
},
#endif
2017-09-20 16:40:55 +02:00
#ifdef CONFIG_ISO15693_SNIFF_SUPPORT
[CONFIG_ISO15693_SNIFF] = {
2018-12-19 17:23:19 +01:00
.CodecInitFunc = ISO15693CodecInit,
.CodecDeInitFunc = ISO15693CodecDeInit,
.CodecTaskFunc = ISO15693CodecTask,
.ApplicationInitFunc = ApplicationInitDummy,
.ApplicationResetFunc = ApplicationResetDummy,
.ApplicationTaskFunc = ApplicationTaskDummy,
.ApplicationTickFunc = ApplicationTickDummy,
.ApplicationProcessFunc = ApplicationProcessDummy,
.ApplicationGetUidFunc = ApplicationGetUidDummy,
.ApplicationSetUidFunc = ApplicationSetUidDummy,
.UidSize = 0,
.MemorySize = 0,
.ReadOnly = true,
.TagFamily = TAG_FAMILY_NONE
2017-09-20 16:40:55 +02:00
},
#endif
#ifdef CONFIG_SL2S2002_SUPPORT
[CONFIG_SL2S2002] = {
2018-12-19 17:23:19 +01:00
.CodecInitFunc = ISO15693CodecInit,
.CodecDeInitFunc = ISO15693CodecDeInit,
.CodecTaskFunc = ISO15693CodecTask,
.ApplicationInitFunc = Sl2s2002AppInit,
.ApplicationResetFunc = Sl2s2002AppReset,
.ApplicationTaskFunc = Sl2s2002AppTask,
.ApplicationTickFunc = Sl2s2002AppTick,
.ApplicationProcessFunc = Sl2s2002AppProcess,
.ApplicationGetUidFunc = Sl2s2002GetUid,
.ApplicationSetUidFunc = Sl2s2002SetUid,
.UidSize = ISO15693_GENERIC_UID_SIZE,
.MemorySize = ISO15693_GENERIC_MEM_SIZE,
.ReadOnly = false,
.TagFamily = TAG_FAMILY_ISO15693
2017-09-20 16:40:55 +02:00
},
#endif
#ifdef CONFIG_TITAGITSTANDARD_SUPPORT
[CONFIG_TITAGITSTANDARD] = {
2018-12-19 17:23:19 +01:00
.CodecInitFunc = ISO15693CodecInit,
.CodecDeInitFunc = ISO15693CodecDeInit,
.CodecTaskFunc = ISO15693CodecTask,
.ApplicationInitFunc = TITagitstandardAppInit,
.ApplicationResetFunc = TITagitstandardAppReset,
.ApplicationTaskFunc = TITagitstandardAppTask,
.ApplicationTickFunc = TITagitstandardAppTick,
.ApplicationProcessFunc = TITagitstandardAppProcess,
.ApplicationGetUidFunc = TITagitstandardGetUid,
.ApplicationSetUidFunc = TITagitstandardSetUid,
.UidSize = TITAGIT_STD_UID_SIZE,
.MemorySize = TITAGIT_STD_MEM_SIZE,
.ReadOnly = false,
.TagFamily = TAG_FAMILY_ISO15693
},
#endif
2018-12-10 19:43:43 +01:00
#ifdef CONFIG_EM4233_SUPPORT
[CONFIG_EM4233] = {
2018-12-19 17:23:19 +01:00
.CodecInitFunc = ISO15693CodecInit,
.CodecDeInitFunc = ISO15693CodecDeInit,
.CodecTaskFunc = ISO15693CodecTask,
.ApplicationInitFunc = EM4233AppInit,
.ApplicationResetFunc = EM4233AppReset,
.ApplicationTaskFunc = EM4233AppTask,
.ApplicationTickFunc = EM4233AppTick,
.ApplicationProcessFunc = EM4233AppProcess,
.ApplicationGetUidFunc = EM4233GetUid,
.ApplicationSetUidFunc = EM4233SetUid,
.UidSize = EM4233_STD_UID_SIZE,
.MemorySize = EM4233_STD_MEM_SIZE,
.ReadOnly = false,
.TagFamily = TAG_FAMILY_ISO15693
2018-12-10 19:43:43 +01:00
},
#endif
2016-10-07 23:44:50 +02:00
};
ConfigurationType ActiveConfiguration;
2019-11-15 10:21:40 +01:00
void ConfigurationInit(void) {
2016-10-07 23:44:50 +02:00
memcpy_P(&ActiveConfiguration,
2019-11-15 10:21:40 +01:00
&ConfigurationTable[CONFIG_NONE], sizeof(ConfigurationType));
2016-10-07 23:44:50 +02:00
ConfigurationSetById(GlobalSettings.ActiveSettingPtr->Configuration);
}
2019-11-15 10:21:40 +01:00
void ConfigurationSetById(ConfigurationEnum Configuration) {
2017-11-07 15:53:23 +01:00
CodecDeInit();
2016-10-07 23:44:50 +02:00
2017-11-07 15:53:23 +01:00
CommandLinePendingTaskBreak(); // break possibly pending task
2016-10-07 23:44:50 +02:00
2017-11-07 15:53:23 +01:00
GlobalSettings.ActiveSettingPtr->Configuration = Configuration;
2016-10-07 23:44:50 +02:00
/* Copy struct from PROGMEM to RAM */
memcpy_P(&ActiveConfiguration,
2019-11-15 10:21:40 +01:00
&ConfigurationTable[Configuration], sizeof(ConfigurationType));
2016-10-07 23:44:50 +02:00
CodecInit();
ApplicationInit();
}
2019-11-15 10:21:40 +01:00
void ConfigurationGetByName(char *Configuration, uint16_t BufferSize) {
2017-11-07 15:53:23 +01:00
MapIdToText(ConfigurationMap, ARRAY_COUNT(ConfigurationMap), GlobalSettings.ActiveSettingPtr->Configuration, Configuration, BufferSize);
2016-10-07 23:44:50 +02:00
}
2019-11-15 10:21:40 +01:00
bool ConfigurationSetByName(const char *Configuration) {
2016-10-07 23:44:50 +02:00
MapIdType Id;
if (MapTextToId(ConfigurationMap, ARRAY_COUNT(ConfigurationMap), Configuration, &Id)) {
2017-11-07 15:53:23 +01:00
ConfigurationSetById(Id);
2019-11-15 10:21:40 +01:00
LogEntry(LOG_INFO_CONFIG_SET, Configuration, StringLength(Configuration, CONFIGURATION_NAME_LENGTH_MAX - 1));
2017-11-07 15:53:23 +01:00
return true;
2016-10-07 23:44:50 +02:00
} else {
2017-11-07 15:53:23 +01:00
return false;
2016-10-07 23:44:50 +02:00
}
}
2019-11-15 10:21:40 +01:00
void ConfigurationGetList(char *List, uint16_t BufferSize) {
2017-11-07 15:53:23 +01:00
MapToString(ConfigurationMap, ARRAY_COUNT(ConfigurationMap), List, BufferSize);
2016-10-07 23:44:50 +02:00
}
2019-08-16 14:27:48 +01:00