summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGravatar Gediminas Jakutis <gediminas@varciai.lt> 2018-05-19 12:02:08 +0300
committerGravatar Gediminas Jakutis <gediminas@varciai.lt> 2018-05-19 12:02:08 +0300
commit03b7473d4faddcb87a5e82205a42028768e7c177 (patch)
tree8c21b9d4ef03a82740fc63f7b0512200dbdd4a0d /include
parent224585cfb9502534032078f4f059588185490c09 (diff)
downloadcoffeetemp-03b7473d4faddcb87a5e82205a42028768e7c177.tar.gz
coffeetemp-03b7473d4faddcb87a5e82205a42028768e7c177.tar.bz2
coffeetemp-03b7473d4faddcb87a5e82205a42028768e7c177.zip
add support for "live"-flashing new settings.
Diffstat (limited to 'include')
-rw-r--r--include/datatypes.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/datatypes.h b/include/datatypes.h
new file mode 100644
index 0000000..50c3389
--- /dev/null
+++ b/include/datatypes.h
@@ -0,0 +1,44 @@
+/*
+ * Hot Beverage Companion – data types
+ *
+ * Copyright (C) 2018 Gediminas Jakutis
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; version 2.1
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef CONFIGURATION_DATA_INCLUDED
+#define CONFIGURATION_DATA_INCLUDED
+
+/* the union should help prevent the compiler from
+ * reordering fields as it sees fit when optimizing.
+ */
+
+#define PADDING_START {0xff, 0xee, 0xdd, 0xff}
+#define PADDING_END {0xff, 0xdd, 0xcc, 0xff}
+
+struct configuration {
+ union {
+ struct {
+ unsigned char padding_start[4];
+ char ssid[32];
+ char password[32];
+ int calibration[4];
+ unsigned char padding_end[4];
+ };
+ unsigned char __full[sizeof(int) * 4 + 32 * 2 + 4 * 2];
+ };
+};
+
+#endif /* CONFIGURATION_DATA_INCLUDED */