MakerLabs ACM
firmware_update.h
Go to the documentation of this file.
1 /*
2  * Copyright Paul Reimer, 2018
3  *
4  * This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Unported License.
5  * To view a copy of this license, visit
6  * https://creativecommons.org/licenses/by-nc-sa/4.0/
7  * or send a letter to
8  * Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
9  */
10 
11 #pragma once
12 
13 #include <experimental/string_view>
14 #include <array>
15 
16 #include "firmware_update_generated.h"
17 
18 #include "esp_partition.h"
19 #include "esp_ota_ops.h"
20 
21 namespace FirmwareUpdate {
22 
23 using MD5Sum = std::array<uint8_t, 16>;
24 using FirmwareVersion = uint64_t;
25 
27  -> const esp_partition_t*;
28 
30  -> const esp_partition_t*;
31 
33  -> const esp_partition_t*;
34 
35 auto compare_partitions(const esp_partition_t* lhs, const esp_partition_t* rhs)
36  -> bool;
37 
38 auto factory_reset()
39  -> void;
40 
41 auto reboot()
42  -> void;
43 
45  -> FirmwareVersion;
46 
48  const esp_partition_t* partition,
49  const size_t partition_size
50 ) -> MD5Sum;
51 
54 ) -> MD5Sum;
55 
56 auto get_md5sum_hex_str(const MD5Sum& md5sum)
57  -> std::string;
58 
59 } // namespace FirmwareUpdate
std::array< uint8_t, 16 > MD5Sum
Definition: firmware_update.h:23
auto get_md5sum_hex_str(const MD5Sum &md5sum) -> std::string
Definition: firmware_update.cpp:187
Definition: firmware_update.cpp:20
std::string string
Definition: oom_killer_actor_behaviour.cpp:24
std::experimental::string_view string_view
Definition: actor_model.cpp:16
auto get_next_ota_partition() -> const esp_partition_t *
Definition: firmware_update.cpp:37
auto get_factory_partition() -> const esp_partition_t *
Definition: firmware_update.cpp:45
const path
Definition: oauth-server.js:26
auto reboot() -> void
Definition: firmware_update.cpp:61
uint64_t FirmwareVersion
Definition: firmware_update.h:24
auto get_current_partition() -> const esp_partition_t *
Definition: firmware_update.cpp:25
auto checksum_partition_md5(const esp_partition_t *partition, const size_t partition_size) -> MD5Sum
Definition: firmware_update.cpp:88
auto compare_partitions(const esp_partition_t *lhs, const esp_partition_t *rhs) -> bool
Definition: firmware_update.cpp:55
auto factory_reset() -> void
Definition: firmware_update.cpp:68
auto get_current_firmware_version() -> FirmwareVersion
Definition: firmware_update.cpp:81
auto checksum_file_md5(const string_view path) -> MD5Sum
Definition: firmware_update.cpp:132