indentation & added load & save persistent settings to sdcard

This commit is contained in:
GullCode 2023-03-31 14:05:33 +02:00
parent 835bc49999
commit 17250304e0
2 changed files with 898 additions and 858 deletions

File diff suppressed because it is too large Load Diff

View File

@ -36,187 +36,193 @@ using namespace modems;
using namespace serializer; using namespace serializer;
namespace portapack { namespace portapack {
namespace persistent_memory {
enum backlight_timeout_t { namespace persistent_memory {
Timeout5Sec = 0,
Timeout15Sec = 1,
Timeout30Sec = 2,
Timeout60Sec = 3,
Timeout180Sec = 4,
Timeout300Sec = 5,
Timeout600Sec = 6,
Timeout3600Sec = 7,
};
struct backlight_config_t { enum backlight_timeout_t {
public: Timeout5Sec = 0,
backlight_config_t() : Timeout15Sec = 1,
_timeout_enum(backlight_timeout_t::Timeout600Sec), Timeout30Sec = 2,
_timeout_enabled(false) Timeout60Sec = 3,
{ Timeout180Sec = 4,
} Timeout300Sec = 5,
Timeout600Sec = 6,
Timeout3600Sec = 7,
};
backlight_config_t( struct backlight_config_t {
backlight_timeout_t timeout_enum, public:
bool timeout_enabled backlight_config_t() :
) : _timeout_enum(backlight_timeout_t::Timeout600Sec),
_timeout_enum(timeout_enum), _timeout_enabled(false)
_timeout_enabled(timeout_enabled) {
{ }
}
bool timeout_enabled() const { backlight_config_t(
return _timeout_enabled; backlight_timeout_t timeout_enum,
} bool timeout_enabled
) :
_timeout_enum(timeout_enum),
_timeout_enabled(timeout_enabled)
{
}
backlight_timeout_t timeout_enum() const { bool timeout_enabled() const {
return _timeout_enum; return _timeout_enabled;
} }
uint32_t timeout_seconds() const { backlight_timeout_t timeout_enum() const {
switch(timeout_enum()) { return _timeout_enum;
case Timeout5Sec: return 5; }
case Timeout15Sec: return 15;
case Timeout30Sec: return 30;
case Timeout60Sec: return 60;
case Timeout180Sec: return 180;
case Timeout300Sec: return 300;
default:
case Timeout600Sec: return 600;
case Timeout3600Sec: return 3600;
}
}
private: uint32_t timeout_seconds() const {
backlight_timeout_t _timeout_enum; switch(timeout_enum()) {
bool _timeout_enabled; case Timeout5Sec: return 5;
}; case Timeout15Sec: return 15;
case Timeout30Sec: return 30;
case Timeout60Sec: return 60;
case Timeout180Sec: return 180;
case Timeout300Sec: return 300;
default:
case Timeout600Sec: return 600;
case Timeout3600Sec: return 3600;
}
}
namespace cache { private:
backlight_timeout_t _timeout_enum;
bool _timeout_enabled;
};
/* Set values in cache to sensible defaults. */ namespace cache {
void defaults();
/* Load cached settings from values in persistent RAM, replacing with defaults /* Set values in cache to sensible defaults. */
* if persistent RAM contents appear to be invalid. */ void defaults();
void init();
/* Calculate a check value for cached settings, and copy the check value and /* Load cached settings from values in persistent RAM, replacing with defaults
* settings into persistent RAM. Intended to be called periodically to update * if persistent RAM contents appear to be invalid. */
* persistent settings with current settings. */ void init();
void persist();
} /* namespace cache */ /* Calculate a check value for cached settings, and copy the check value and
* settings into persistent RAM. Intended to be called periodically to update
* persistent settings with current settings. */
void persist();
using ppb_t = int32_t; } /* namespace cache */
rf::Frequency tuned_frequency(); using ppb_t = int32_t;
void set_tuned_frequency(const rf::Frequency new_value);
ppb_t correction_ppb(); rf::Frequency tuned_frequency();
void set_correction_ppb(const ppb_t new_value); void set_tuned_frequency(const rf::Frequency new_value);
void set_touch_calibration(const touch::Calibration& new_value); ppb_t correction_ppb();
const touch::Calibration& touch_calibration(); void set_correction_ppb(const ppb_t new_value);
serial_format_t serial_format(); void set_touch_calibration(const touch::Calibration& new_value);
void set_serial_format(const serial_format_t new_value); const touch::Calibration& touch_calibration();
int32_t tone_mix(); serial_format_t serial_format();
void set_tone_mix(const int32_t new_value); void set_serial_format(const serial_format_t new_value);
int32_t afsk_mark_freq(); int32_t tone_mix();
void set_afsk_mark(const int32_t new_value); void set_tone_mix(const int32_t new_value);
int32_t afsk_space_freq(); int32_t afsk_mark_freq();
void set_afsk_space(const int32_t new_value); void set_afsk_mark(const int32_t new_value);
int32_t modem_baudrate(); int32_t afsk_space_freq();
void set_modem_baudrate(const int32_t new_value); void set_afsk_space(const int32_t new_value);
uint8_t modem_repeat(); int32_t modem_baudrate();
void set_modem_repeat(const uint32_t new_value); void set_modem_baudrate(const int32_t new_value);
uint32_t playing_dead(); uint8_t modem_repeat();
void set_playing_dead(const uint32_t new_value); void set_modem_repeat(const uint32_t new_value);
uint32_t playdead_sequence(); uint32_t playing_dead();
void set_playdead_sequence(const uint32_t new_value); void set_playing_dead(const uint32_t new_value);
bool stealth_mode(); uint32_t playdead_sequence();
void set_stealth_mode(const bool v); void set_playdead_sequence(const uint32_t new_value);
uint8_t config_cpld(); bool stealth_mode();
void set_config_cpld(uint8_t i); void set_stealth_mode(const bool v);
bool config_splash(); uint8_t config_cpld();
bool config_hide_converter(); void set_config_cpld(uint8_t i);
bool config_converter();
bool config_updown_converter();
int64_t config_converter_freq();
bool show_gui_return_icon();
bool load_app_settings();
bool save_app_settings();
bool show_bigger_qr_code();
bool hide_clock();
bool clock_with_date();
bool config_login();
bool config_speaker();
backlight_config_t config_backlight_timer();
bool disable_touchscreen();
void set_gui_return_icon(bool v); bool config_splash();
void set_load_app_settings(bool v); bool config_hide_converter();
void set_save_app_settings(bool v); bool config_converter();
void set_show_bigger_qr_code(bool v); bool config_updown_converter();
void set_config_splash(bool v); int64_t config_converter_freq();
void set_config_hide_converter(bool v); bool show_gui_return_icon();
void set_config_converter(bool v); bool load_app_settings();
void set_config_updown_converter(const bool v); bool save_app_settings();
void set_config_converter_freq(const int64_t v ); bool show_bigger_qr_code();
void set_clock_hidden(bool v); bool hide_clock();
void set_clock_with_date(bool v); bool clock_with_date();
void set_config_login(bool v); bool config_login();
void set_config_speaker(bool v); bool config_speaker();
void set_config_backlight_timer(const backlight_config_t& new_value); backlight_config_t config_backlight_timer();
void set_disable_touchscreen(bool v); bool disable_touchscreen();
//uint8_t ui_config_textentry(); void set_gui_return_icon(bool v);
//void set_config_textentry(uint8_t new_value); void set_load_app_settings(bool v);
void set_save_app_settings(bool v);
void set_show_bigger_qr_code(bool v);
void set_config_splash(bool v);
void set_config_hide_converter(bool v);
void set_config_converter(bool v);
void set_config_updown_converter(const bool v);
void set_config_converter_freq(const int64_t v );
void set_clock_hidden(bool v);
void set_clock_with_date(bool v);
void set_config_login(bool v);
void set_config_speaker(bool v);
void set_config_backlight_timer(const backlight_config_t& new_value);
void set_disable_touchscreen(bool v);
uint32_t pocsag_last_address(); //uint8_t ui_config_textentry();
void set_pocsag_last_address(uint32_t address); //void set_config_textentry(uint8_t new_value);
uint32_t pocsag_ignore_address(); uint32_t pocsag_last_address();
void set_pocsag_ignore_address(uint32_t address); void set_pocsag_last_address(uint32_t address);
bool clkout_enabled(); uint32_t pocsag_ignore_address();
void set_clkout_enabled(bool v); void set_pocsag_ignore_address(uint32_t address);
uint32_t clkout_freq();
void set_clkout_freq(uint32_t freq);
/* Recon app */ bool clkout_enabled();
bool recon_autosave_freqs(); void set_clkout_enabled(bool v);
bool recon_autostart_recon(); uint32_t clkout_freq();
bool recon_continuous(); void set_clkout_freq(uint32_t freq);
bool recon_clear_output();
bool recon_load_freqs(); /* Recon app */
bool recon_load_ranges(); bool recon_autosave_freqs();
bool recon_update_ranges_when_recon(); bool recon_autostart_recon();
bool recon_load_hamradios(); bool recon_continuous();
bool recon_match_mode(); bool recon_clear_output();
void set_recon_autosave_freqs(const bool v); bool recon_load_freqs();
void set_recon_autostart_recon(const bool v); bool recon_load_ranges();
void set_recon_continuous(const bool v); bool recon_update_ranges_when_recon();
void set_recon_clear_output(const bool v); bool recon_load_hamradios();
void set_recon_load_freqs(const bool v); bool recon_match_mode();
void set_recon_load_ranges(const bool v); void set_recon_autosave_freqs(const bool v);
void set_recon_update_ranges_when_recon(const bool v); void set_recon_autostart_recon(const bool v);
void set_recon_load_hamradios(const bool v ); void set_recon_continuous(const bool v);
void set_recon_match_mode( const bool v ); void set_recon_clear_output(const bool v);
void set_recon_load_freqs(const bool v);
void set_recon_load_ranges(const bool v);
void set_recon_update_ranges_when_recon(const bool v);
void set_recon_load_hamradios(const bool v );
void set_recon_match_mode( const bool v );
// sd persisting settings
int save_persistent_settings_to_file( std::string filename );
int load_persistent_settings_from_file( std::string filename );
} /* namespace persistent_memory */
} /* namespace persistent_memory */
} /* namespace portapack */ } /* namespace portapack */
#endif/*__PORTAPACK_PERSISTENT_MEMORY_H__*/ #endif/*__PORTAPACK_PERSISTENT_MEMORY_H__*/