mirror of
https://github.com/m5stack/StackChan.git
synced 2026-04-27 19:12:40 +00:00
update firmware v1.2.4 (#16)
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include <hal/hal.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string_view>
|
||||
|
||||
namespace setup_workers {
|
||||
|
||||
@@ -48,6 +49,21 @@ private:
|
||||
std::unique_ptr<WorkerBase> _page_calibration;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
*/
|
||||
class ServoTestWorker : public WorkerBase {
|
||||
public:
|
||||
ServoTestWorker();
|
||||
void update() override;
|
||||
|
||||
private:
|
||||
std::unique_ptr<WorkerBase> _page_tips;
|
||||
std::unique_ptr<WorkerBase> _page_test;
|
||||
std::unique_ptr<WorkerBase> _page_done;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
@@ -79,19 +95,29 @@ private:
|
||||
struct StateAppDownloadData {
|
||||
std::unique_ptr<uitk::lvgl_cpp::Container> panel;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Label> title;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Qrcode> qrcode;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Qrcode> qrcode_ios;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Qrcode> qrcode_android;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Label> label_ios;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Label> label_android;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Button> btn_next;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Button> btn_quit;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Label> info;
|
||||
bool next_clicked = false;
|
||||
bool quit_clicked = false;
|
||||
|
||||
void reset()
|
||||
{
|
||||
panel.reset();
|
||||
title.reset();
|
||||
qrcode.reset();
|
||||
qrcode_ios.reset();
|
||||
qrcode_android.reset();
|
||||
label_ios.reset();
|
||||
label_android.reset();
|
||||
btn_next.reset();
|
||||
btn_quit.reset();
|
||||
info.reset();
|
||||
next_clicked = false;
|
||||
quit_clicked = false;
|
||||
}
|
||||
};
|
||||
StateAppDownloadData _state_app_download_data;
|
||||
@@ -170,6 +196,7 @@ public:
|
||||
|
||||
private:
|
||||
std::unique_ptr<PageStartup> _page_startup;
|
||||
std::unique_ptr<ServoTestWorker> _worker_servo_test;
|
||||
std::unique_ptr<WifiSetupWorker> _worker_wifi;
|
||||
};
|
||||
|
||||
@@ -187,6 +214,17 @@ private:
|
||||
uint32_t _last_tick = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
*/
|
||||
class SystemUpdateWorker : public WorkerBase {
|
||||
public:
|
||||
SystemUpdateWorker();
|
||||
~SystemUpdateWorker();
|
||||
void update() override;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
@@ -205,6 +243,25 @@ private:
|
||||
int32_t _target_brightness = -1;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
*/
|
||||
class VolumeSetupWorker : public WorkerBase {
|
||||
public:
|
||||
VolumeSetupWorker();
|
||||
~VolumeSetupWorker();
|
||||
void update() override;
|
||||
|
||||
private:
|
||||
std::unique_ptr<uitk::lvgl_cpp::Container> _panel;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Label> _label_volume;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Slider> _slider;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Button> _btn_confirm;
|
||||
std::vector<uint8_t> _volume_levels;
|
||||
int32_t _target_volume = -1;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
@@ -247,4 +304,55 @@ private:
|
||||
void update_ui();
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
*/
|
||||
class AccountWorker : public WorkerBase {
|
||||
public:
|
||||
class PanelInfo {
|
||||
public:
|
||||
PanelInfo(lv_obj_t* parent, int posY, std::string_view title, std::string_view info);
|
||||
|
||||
private:
|
||||
std::unique_ptr<uitk::lvgl_cpp::Container> _panel;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Label> _label_title;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Label> _label_info;
|
||||
};
|
||||
|
||||
class PageAccount {
|
||||
public:
|
||||
PageAccount(std::string_view username, std::string_view deviceName);
|
||||
|
||||
bool isUnbindClicked() const
|
||||
{
|
||||
return _is_unbind_clicked;
|
||||
}
|
||||
|
||||
bool isQuitClicked() const
|
||||
{
|
||||
return _is_quit_clicked;
|
||||
}
|
||||
|
||||
private:
|
||||
std::unique_ptr<uitk::lvgl_cpp::Container> _panel;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Label> _label_title;
|
||||
std::unique_ptr<PanelInfo> _panel_username;
|
||||
std::unique_ptr<PanelInfo> _panel_device_name;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Button> _btn_unbind;
|
||||
std::unique_ptr<uitk::lvgl_cpp::Button> _btn_quit;
|
||||
|
||||
bool _is_unbind_clicked = false;
|
||||
bool _is_quit_clicked = false;
|
||||
};
|
||||
|
||||
AccountWorker();
|
||||
~AccountWorker();
|
||||
void update() override;
|
||||
|
||||
private:
|
||||
std::unique_ptr<PageAccount> _page_account;
|
||||
std::unique_ptr<FactoryResetWorker> _worker_reset;
|
||||
};
|
||||
|
||||
} // namespace setup_workers
|
||||
|
||||
Reference in New Issue
Block a user