Compare commits
1325 Commits
vesc_contr
...
new-idf
Author | SHA1 | Date | |
---|---|---|---|
c307b64b0a | |||
101a2b03a8 | |||
7b4fd61a39 | |||
f32013f782 | |||
cca17b7ded | |||
a9794b13bd | |||
1a7e83de83 | |||
69b030268f | |||
b3b45653b5 | |||
199a8f1e4e | |||
d6c76f3c3f | |||
0909c055de | |||
52b55b38cd | |||
65d7a7e9ec | |||
13a6ce3cc2 | |||
6bc85875ee | |||
4688326323 | |||
1b7a523acd | |||
c85e84e9a1 | |||
9e6ee2c957 | |||
d29a74dbd4 | |||
b984360956 | |||
fa819822f0 | |||
52ff7acd02 | |||
b61dfcf53d | |||
f6b4966071 | |||
a6fb1b7396 | |||
fd40d8dbd8 | |||
8cf766356c | |||
da8b91403d | |||
4b4044626b | |||
71906ba511 | |||
ef7e605eb7 | |||
32389f2bf9 | |||
e647c4b372 | |||
3c0b0cdbb1 | |||
43c2338dbd | |||
846a5d753a | |||
f4110bb854 | |||
226636a82a | |||
a93f34e0ba | |||
f2350c8746 | |||
1840030461 | |||
62a4b88acb | |||
bc9a0c396c | |||
2bc1625fab | |||
9db3da4b27 | |||
4e0fdd65c3 | |||
129cc64d24 | |||
f8b1454f9a | |||
4f703c4d10 | |||
95e04ef543 | |||
87751682b2 | |||
7a3a081af4 | |||
327932ac14 | |||
17eff6127f | |||
2ec6ddc150 | |||
ba5d907e38 | |||
3de6827bc5 | |||
846d90836d | |||
6e3324fe65 | |||
79e51f7511 | |||
33f35f14b7 | |||
b43e4e76ac | |||
e6ddc39177 | |||
780fe01015 | |||
5085b1daa6 | |||
4f174fe76f | |||
219b995695 | |||
44100bcc0a | |||
e3f783977b | |||
9ea453f94b | |||
4ff623195f | |||
d8eb55277b | |||
47e49da69c | |||
91ebc22dc9 | |||
6202f5c913 | |||
16b7924c93 | |||
d71fd669e8 | |||
5b0df729b3 | |||
40e200a147 | |||
4347377d61 | |||
c532907f20 | |||
b27135ab90 | |||
a829b69217 | |||
dd91c5826c | |||
8c5e19f880 | |||
27e690b058 | |||
0eba8b3cce | |||
cac60a248d | |||
a062b9369b | |||
8b6cdabfbc | |||
eb353f56b9 | |||
ebc1bf88b6 | |||
e9d0915b69 | |||
cd9a6ba32c | |||
1b63870c4e | |||
b13e45065f | |||
a97f84de33 | |||
cbad8dfa7b | |||
dd3608a09d | |||
6a2720c437 | |||
e930a515ca | |||
61fddd0724 | |||
a7242a4a7d | |||
e518388631 | |||
785c887efe | |||
de17619208 | |||
c71e02b004 | |||
3246d5ec07 | |||
c412ff6a01 | |||
12975932e3 | |||
79be6d2fe6 | |||
8e8e694b57 | |||
d6b2b4b41c | |||
bff99bd6c5 | |||
98a1160c6f | |||
7db25a5642 | |||
405ab92cf2 | |||
6f7b598bd7 | |||
c129106ff4 | |||
4885913c75 | |||
f5d6535db9 | |||
f18a057411 | |||
72c1e959a1 | |||
3fe227a82b | |||
e518c80e03 | |||
f8baa1c6ea | |||
67580cb7ec | |||
1abb83e6b1 | |||
ad9b3c4e53 | |||
e23418dbb0 | |||
c39033399b | |||
0565c3042d | |||
cb7d4180c4 | |||
bc6dd5a50c | |||
7a887a3323 | |||
73fd65b04f | |||
0fab6e72e1 | |||
0cf28d961a | |||
6c94b608fa | |||
1366f3fedb | |||
ca1b7173e7 | |||
1317cec337 | |||
e49603751f | |||
c16a126a2f | |||
91f2f621fe | |||
7bece3c32f | |||
2773f0614d | |||
474b48ff3e | |||
11b9564b07 | |||
0c81c96e46 | |||
01cf28e8f0 | |||
3722d87aee | |||
12261a815f | |||
c0069006cd | |||
8a8f800447 | |||
9068be4a2d | |||
cab4dd2ca1 | |||
83ea64a086 | |||
5d4655b549 | |||
6f6966d13e | |||
72ce9fb3a5 | |||
d805bcfb2c | |||
a462e97d5f | |||
cff49fa3a8 | |||
ee6fb1f99c | |||
3c13473d0c | |||
38fb68ce2e | |||
55386b5fb3 | |||
0393ac750b | |||
647365c5fc | |||
756c8bde94 | |||
56d0cb2ab0 | |||
d829c0d5cb | |||
ff104923d7 | |||
a5ee6bb557 | |||
b9961e2e2f | |||
65bc7d2b38 | |||
08e2f6e4d3 | |||
0843e4881b | |||
cf278e4d18 | |||
3e70a1fc74 | |||
5971061bc7 | |||
eef937edea | |||
401c870287 | |||
66a469f4e3 | |||
ba45f28f17 | |||
735ad66dba | |||
325d719aee | |||
6144a05e25 | |||
5db917786a | |||
cf2f9a5939 | |||
54cdeee1c9 | |||
c6879016b1 | |||
eb94c1912d | |||
f6bc1f5dbd | |||
a9905232c6 | |||
a1d51c3f2a | |||
b08572d503 | |||
460f40ce47 | |||
c42e44c40b | |||
2a157f32ec | |||
aea4533893 | |||
039b97e5c1 | |||
5288efe0ef | |||
f29f8308d1 | |||
ed149bf287 | |||
4ac8896591 | |||
89e5428af2 | |||
7bb09e4085 | |||
4ccfc4340a | |||
6a189e2d06 | |||
ab02a1c437 | |||
f4ac629823 | |||
5f4627ffb9 | |||
f7def7cf2c | |||
86cae5d564 | |||
5bba53bfb9 | |||
5eac6fd671 | |||
840c43ef0e | |||
3c10185e5e | |||
b6be6e6a83 | |||
30832a42f7 | |||
c90ad518c5 | |||
a5bfab2df7 | |||
349ffafedf | |||
a3a7868988 | |||
8c0addd600 | |||
884ac87314 | |||
b7b86a5e8a | |||
9190cb6634 | |||
3818e50eab | |||
5f27748675 | |||
367907d432 | |||
873e3a027a | |||
230a9614d9 | |||
304b7225df | |||
f9760528ca | |||
d692f0261c | |||
4c7e438c18 | |||
d277202fa3 | |||
ed4444ad93 | |||
ee294392fc | |||
91880608dc | |||
84a1cd40e9 | |||
71624b99b6 | |||
e9de923224 | |||
4b8848d464 | |||
a58a8d1344 | |||
8c884c0b4e | |||
950d46b109 | |||
4540a2afbf | |||
1268887c37 | |||
143a3d37e6 | |||
e7ac8b47e3 | |||
d85a67c05b | |||
f5a7f9bcbe | |||
1a1882d825 | |||
efb593c8aa | |||
d47bd7f095 | |||
5043788aef | |||
4f6b98a27b | |||
cf14e94647 | |||
f188b42987 | |||
78d8255b62 | |||
d40f5e71a4 | |||
e4b8622fed | |||
c0f911ce05 | |||
c18403a30f | |||
b9cb7835a1 | |||
e8217bb038 | |||
0bef65c4d0 | |||
9f36056177 | |||
1f6eb46771 | |||
c0f8197262 | |||
d5e863eb6b | |||
48f9e32cd4 | |||
eb3e1862b2 | |||
936408a17a | |||
5ad64d81d0 | |||
989da449b0 | |||
e20176f3ad | |||
39500ef59c | |||
673e304641 | |||
b3e30780a1 | |||
4765b97a70 | |||
c7ca2846c7 | |||
15108bf277 | |||
f2f479e1a6 | |||
7be54d20c8 | |||
3bd0a4b010 | |||
255d09b06e | |||
41a39be51f | |||
562554f6d6 | |||
8310fe64c9 | |||
d77390e521 | |||
33731a5408 | |||
c7a8f5e974 | |||
3b4b117219 | |||
d1c0497dc2 | |||
4617f5f26d | |||
886a5f32e5 | |||
f236d4bf03 | |||
1040ebe4a1 | |||
c7573b90a6 | |||
56996b50a1 | |||
48cfe3edbc | |||
0b17b4ffd1 | |||
b75af48353 | |||
7664e409d4 | |||
3bbc916348 | |||
631eb0edad | |||
5bdb0fabce | |||
2e57c93252 | |||
924d35ee6a | |||
7db77cc25b | |||
8a670cf608 | |||
ce9d9d840b | |||
e7730d0a20 | |||
8c69ab02d5 | |||
37961639d1 | |||
5f23b8dec5 | |||
64a7ac0018 | |||
2c339b9273 | |||
19ea4ebec9 | |||
7ad56840be | |||
c284ac9416 | |||
813abbefd6 | |||
605cd12c8b | |||
81d467e69f | |||
bda9707638 | |||
af255ec098 | |||
e4daf6cf3c | |||
e40253c70f | |||
a222d68264 | |||
177220df6b | |||
cb1065ccb4 | |||
b48a40742e | |||
7f6fa967c8 | |||
73d01e8516 | |||
9dc4ff7d4e | |||
11a461bfdd | |||
689d7221a1 | |||
c3cf4a74b0 | |||
e7379fd3df | |||
080ba7dfe0 | |||
89f1a0b7a3 | |||
4bc93579fb | |||
1564820f24 | |||
a496c3ab49 | |||
f98147295b | |||
db898c38f5 | |||
d15b974a21 | |||
ba0c0acef2 | |||
401a1db42c | |||
2e8feaf2b5 | |||
db4c76ef5c | |||
3908772345 | |||
f627c8d993 | |||
e6c3357788 | |||
9bb26252c5 | |||
cc591cebc2 | |||
7222211c08 | |||
ca9cf65d66 | |||
6b0260b2c5 | |||
4db8690677 | |||
168baeac83 | |||
2adccba813 | |||
97c9ecec4d | |||
e17e7ba5f8 | |||
89779c4648 | |||
ade3117303 | |||
ddc1b64b20 | |||
887e55aa3d | |||
b5aba26f9b | |||
0f03c0f88b | |||
1febc69583 | |||
fecdbc2944 | |||
06f8bd2ac1 | |||
d29514a167 | |||
fb0bed29bf | |||
25a6479887 | |||
31a0b64377 | |||
2033448f65 | |||
dbaf7ddc71 | |||
72b7dc3826 | |||
377564ff34 | |||
a66d48de7d | |||
eb8cacec5a | |||
5e242eb098 | |||
d202a5a350 | |||
5908e2c4ca | |||
c4451bf1cb | |||
55c9e4ac93 | |||
21dfe01f0c | |||
55db6f4090 | |||
bebdf0046e | |||
dbabd70ad4 | |||
4a47deccb8 | |||
18ba362d61 | |||
7140e1baf9 | |||
359facce64 | |||
22896d0fb9 | |||
3cab7f2cf7 | |||
3b5538363f | |||
8a0f642324 | |||
3ccccc81a9 | |||
777134eaf1 | |||
1411a8847c | |||
43c0f6e374 | |||
65308be33d | |||
9890c9fb24 | |||
ffd98375cc | |||
7a551c14d0 | |||
6f1633d713 | |||
8e3397c6e5 | |||
c44e683941 | |||
fa4aeac27d | |||
1a5df4e877 | |||
9640b3fcd3 | |||
2117be359c | |||
0415d90d1b | |||
1fe69c9161 | |||
144ff531a4 | |||
bf42fe05f4 | |||
fc2d7c511e | |||
d40cc5d71d | |||
9125a968d5 | |||
cb11ca3c9e | |||
0d366881b2 | |||
e52cf82218 | |||
a87599c7ea | |||
3322120464 | |||
f10cb18dc4 | |||
79f7efeaf9 | |||
62f91ae0a6 | |||
c589295e30 | |||
6fe397a103 | |||
598f74f8a3 | |||
9ac7f3fdc7 | |||
ab85b87d29 | |||
3b45dc8b16 | |||
28ebb57cf3 | |||
e187f2fa77 | |||
6a1dfc3b91 | |||
3665ac1bd4 | |||
8a1051d91b | |||
98ef64d82e | |||
cfa278a4b1 | |||
bc8cc945e3 | |||
e3640046c0 | |||
23e94b213f | |||
fef3c2d5af | |||
62987cb374 | |||
8bbb098945 | |||
003e961c19 | |||
976fc7cf2f | |||
44293a7a32 | |||
25a0077b88 | |||
5d4bd322dc | |||
eed2ee4b23 | |||
299729a272 | |||
4d61959c5b | |||
b27cf645e6 | |||
bc340a3319 | |||
d8c97d7f20 | |||
40918ec32a | |||
5a034278f4 | |||
e23de353aa | |||
4ea3550d54 | |||
c3d364365a | |||
5b132cbac3 | |||
e611ac0b6d | |||
395f7a1829 | |||
9ffc85ddec | |||
6d30549264 | |||
f1b4ef9b06 | |||
8b91e63f47 | |||
940c076977 | |||
2f13a1b8b1 | |||
592974935e | |||
9421847f9b | |||
e6ab721546 | |||
626d44894d | |||
9992bc7286 | |||
11972b31dd | |||
27e6ff0c67 | |||
1a5d1e7af5 | |||
d5f4e1a9a2 | |||
bd8c32b856 | |||
6f7fb5817d | |||
eaa2951845 | |||
a5e41c44a9 | |||
6b42f5093c | |||
10501dacf6 | |||
280263c145 | |||
64adfc6cb3 | |||
508134f0da | |||
dc33a88316 | |||
a0254e36bf | |||
802d91deb9 | |||
215061d721 | |||
a3957d0514 | |||
795a46e54d | |||
dc15d48f36 | |||
ce3885b7e0 | |||
68b15c0dbe | |||
78512b17dc | |||
914a1dc60c | |||
0c77d459a5 | |||
f7f9c180af | |||
5ed4146341 | |||
03aeee7a22 | |||
c8e36dda17 | |||
5f9638449a | |||
1a5ed56788 | |||
515c373827 | |||
c0178f2026 | |||
d0a4ac2d4c | |||
6498723c4d | |||
bc83dc5b5a | |||
8579dd1ca8 | |||
a3e719bd81 | |||
64a6c14d82 | |||
2bad15978d | |||
7e5f9b53ad | |||
6c251fc566 | |||
bdbfde6868 | |||
483b5ee4e3 | |||
41b54a2a5f | |||
2f0f5357ad | |||
2dce835d17 | |||
b3ed07aad1 | |||
4298710f19 | |||
6e224443c3 | |||
0eb3165216 | |||
da10c84210 | |||
eed4f541ec | |||
7466a2c3d2 | |||
55496ce87f | |||
654bed2827 | |||
afe7201d00 | |||
691363129b | |||
ade2da7fd2 | |||
7f924d8cc2 | |||
d276cadc33 | |||
97d14fda0e | |||
7c1efb1342 | |||
116f343523 | |||
37336d70e5 | |||
45cd8903df | |||
a4a530b2a3 | |||
b9bc5806ed | |||
911a843a39 | |||
cdf4d6d5ae | |||
702e4a7f41 | |||
e5ac773e39 | |||
ba92deb4a9 | |||
048e1d9482 | |||
e2547867b3 | |||
0bd64fd40e | |||
607e6ef2c2 | |||
bde4524086 | |||
2c91b399b5 | |||
dca82df270 | |||
3081fc553b | |||
0288ac93a3 | |||
97c12b103c | |||
e8a4a9f4b8 | |||
0a35bfb77d | |||
b1de1de93a | |||
973fb66985 | |||
c2a5044667 | |||
8619dfff1f | |||
e1a44e0138 | |||
7536e1be9a | |||
f099d15707 | |||
d5b9c1142f | |||
81701b4096 | |||
68e8c9ea4a | |||
4a37f53929 | |||
da1927776e | |||
4b9a36f507 | |||
855dbca1ca | |||
3cd17b6479 | |||
9540898ced | |||
f50f6eaf1e | |||
bce81b363b | |||
96c22bb2e6 | |||
94b47df7dd | |||
535e643c24 | |||
aeb89a8d96 | |||
2c1aca079f | |||
6138c187f4 | |||
47233e5ad6 | |||
e1066f4eae | |||
4e1943dbc8 | |||
b013bbd693 | |||
1aa556dca1 | |||
c025001d86 | |||
c7fb30a870 | |||
3b73865000 | |||
dfd2f45828 | |||
d9f41eb016 | |||
6f1a69432d | |||
23c5393ca7 | |||
66f5ed4137 | |||
8de0c1309a | |||
d8219a7bcf | |||
d2fe70fbe4 | |||
aa3552e3b4 | |||
a5831c2ab6 | |||
412d82caeb | |||
a8a28081d6 | |||
23736348d3 | |||
29c2dc7f1d | |||
e74bb68456 | |||
1fe9ff26a6 | |||
4b5c2a2be1 | |||
eedecad2a0 | |||
309e829f1f | |||
189535b059 | |||
b9c48fe886 | |||
6ce5ca3927 | |||
3f6eeca8d6 | |||
86e5e9cf0e | |||
4f665bc6fb | |||
67249cfb2f | |||
32d57e4f6a | |||
5cdf650627 | |||
138412e2ae | |||
7b1c64c08e | |||
27863b2bf0 | |||
9d09c9ceaf | |||
39f80e2bda | |||
2021e308e4 | |||
a8b64aa608 | |||
9e3532e457 | |||
b3d03989d7 | |||
9145853649 | |||
d12c943f89 | |||
f7bae3fe91 | |||
3403c65987 | |||
39a6a7df71 | |||
9ac12cec05 | |||
1a3fb0a0a9 | |||
31fdbae77b | |||
bee30e4bfb | |||
530970ca44 | |||
2e63d06661 | |||
811b28ce8a | |||
6415448f9b | |||
3b701ff258 | |||
013a0617cf | |||
9d1cf7d8d2 | |||
b147e802f8 | |||
1b59251a99 | |||
99f1517db5 | |||
83007d55c1 | |||
6693adc1ef | |||
3c61012161 | |||
ba12e18874 | |||
287bd2bec0 | |||
6f37344d5a | |||
e22b4ace9c | |||
8d7e94958a | |||
4779d02a9e | |||
e85375bb80 | |||
e4d1bec58a | |||
5ca3c6df3b | |||
b341daefa5 | |||
86daa1a8cb | |||
b551d5a88d | |||
8c839469f3 | |||
d11955448d | |||
31a0caabba | |||
5b75a01777 | |||
1d2edee3db | |||
89e4c64e2c | |||
4104cafb59 | |||
1830df26fd | |||
2a56f59d86 | |||
8074f63578 | |||
78a1734133 | |||
01841f11a1 | |||
5f26d607eb | |||
95ae227a97 | |||
0adb55c668 | |||
f8a14414e2 | |||
c7420afd9c | |||
05af290420 | |||
ba694f0fcf | |||
ab7052b52c | |||
eb55b20511 | |||
cad8ce5d3c | |||
17540b7a1e | |||
25f0494ab7 | |||
2110624880 | |||
d44fb8ec9a | |||
b084839ba8 | |||
e0f3ceee7c | |||
058745abd5 | |||
b3299c8325 | |||
872a7e45fa | |||
868b9dd6d4 | |||
b55b649b10 | |||
be53c39ebf | |||
04515eecb5 | |||
a1946e2e02 | |||
3ae6721402 | |||
8210c57dff | |||
514f993b9c | |||
a86f27748f | |||
b721341210 | |||
53aaa9dc43 | |||
562b5d25ac | |||
2ec19d2def | |||
304ce9925f | |||
09431cc305 | |||
599965f0bd | |||
f6c3e95f9d | |||
13cef1a32d | |||
d6198d5320 | |||
6c9581bb78 | |||
db19e574c0 | |||
155f56863e | |||
a9798713ed | |||
80d141a109 | |||
9c80aa4250 | |||
49bda3f88d | |||
40d85d81cd | |||
b5c6823a80 | |||
444df158e9 | |||
2c28cf9107 | |||
7611613ca7 | |||
a7d7448c52 | |||
03932c5683 | |||
217e45de6a | |||
abb76a29b9 | |||
023986b827 | |||
81d5a3bc95 | |||
d3e2323c74 | |||
56b3e8cdd1 | |||
55d9f432d7 | |||
e6d4133d2e | |||
8780ab8c7c | |||
cce5dc38da | |||
df6e0e55f5 | |||
13fe185ac1 | |||
f47bf772ef | |||
93556a00fe | |||
cef961c174 | |||
a4d80c640d | |||
9ddf246805 | |||
b48648f3e2 | |||
bcfbb98362 | |||
6492531183 | |||
8bd5b21436 | |||
d91b6cb6e1 | |||
180e3fbaa8 | |||
16ebdfc795 | |||
5903fc21b1 | |||
b59d9dff9f | |||
92f41a0ce1 | |||
4f109d4d08 | |||
4a2254df0b | |||
6adca753aa | |||
595a508d93 | |||
647f86906b | |||
42067b1a3b | |||
66e40248fe | |||
5d424a4377 | |||
24607b3a0c | |||
aabae8b8b6 | |||
02999bcde1 | |||
27019b7d75 | |||
0e3053a45b | |||
e07cb9d373 | |||
f9bc8b341d | |||
c50787ba84 | |||
24e8543ff3 | |||
4357f1c7a5 | |||
c6f2392289 | |||
c1a4058a22 | |||
9f18bd980c | |||
2616af5a30 | |||
d4955349a8 | |||
60a960429e | |||
02aae7120c | |||
13d35d50a1 | |||
bb06fe6ba6 | |||
31210150cf | |||
e4b171c90f | |||
508c90800a | |||
70382088a0 | |||
bd9fdeac7b | |||
169d5434da | |||
0c33f3668a | |||
47d4492925 | |||
2a41155f77 | |||
5ca42235ba | |||
50c251d679 | |||
1f9a53dd7e | |||
f2e5478106 | |||
c6bfc4b77a | |||
24db6a7ce5 | |||
7761f415a5 | |||
64ac74ea5d | |||
38470629b8 | |||
b8172e7b63 | |||
583bd4992f | |||
57fe5b14b7 | |||
a611ad3db4 | |||
f1053cd3b5 | |||
8caf8789dd | |||
98641cfc04 | |||
e4b3a594f4 | |||
cc0a23802f | |||
b899b0a503 | |||
f99562f9bc | |||
24224079bd | |||
0837333731 | |||
bc9c7c22a8 | |||
f548a14b5d | |||
cf498db01e | |||
7051bd756f | |||
3db575f9f7 | |||
36265be595 | |||
b831d282d9 | |||
14d74a5846 | |||
5dff47f437 | |||
ddf0d27137 | |||
c291752b46 | |||
2101077f42 | |||
0df45e74f2 | |||
d32b46ed3f | |||
0ab293ee07 | |||
c5b9a0ab51 | |||
8bf7b7e39e | |||
b52d6c61d7 | |||
51e38fb6df | |||
c2d8042182 | |||
704109f0d0 | |||
09c098f54a | |||
574017ef0c | |||
6a29776bd4 | |||
aee7a35362 | |||
244a955c4b | |||
46fa8cba05 | |||
546d3041bc | |||
e67dc15b70 | |||
06530beab0 | |||
01a31e445e | |||
97d06c3b20 | |||
22ae359534 | |||
dea02804bd | |||
9a879ec842 | |||
4411a82348 | |||
eb7f5a0523 | |||
99811324e2 | |||
fb3fe7b3c0 | |||
562fc167bc | |||
d4325f2983 | |||
740ca4680a | |||
54166bb693 | |||
6cdccb285e | |||
341ef11536 | |||
9c4ffb3482 | |||
3c45cc1742 | |||
b1c1cfa7ec | |||
f91e722a36 | |||
1982a4551a | |||
16820b09e8 | |||
d3000ed5f7 | |||
34feb842c1 | |||
d4a20d70a6 | |||
4e1f1f1c98 | |||
517d4f7fb3 | |||
9ffaea39bc | |||
242bc6c255 | |||
bb7c0bf019 | |||
98949cd411 | |||
3d13cd9946 | |||
4302b8bf5e | |||
7af77dd452 | |||
cd1f503bc7 | |||
5208f7382e | |||
e7a6a2d506 | |||
79bbd16371 | |||
9173ab272d | |||
c94a3af910 | |||
5a642593c8 | |||
6baa17d584 | |||
e49eae2322 | |||
a92b2bed2c | |||
0c693544ac | |||
bd1307e156 | |||
6076f2a57d | |||
71be39556d | |||
55674ef079 | |||
74a3723ea7 | |||
c64e6abd01 | |||
63acd0c3ab | |||
e2bf4c579f | |||
2eaedb00fb | |||
b39ad41380 | |||
1a4dbc5907 | |||
c32007bc3b | |||
6ffa4580d8 | |||
24cc9c9f25 | |||
5e7f286d84 | |||
6a3372b2d4 | |||
6a529e5dca | |||
52564a74ff | |||
7bc486bc3f | |||
ebcbdeb18c | |||
ffbb710429 | |||
ead878ffd9 | |||
19b79fe441 | |||
89c3de03d3 | |||
1b3c17c55d | |||
a43bca4bab | |||
b7bf6d22a9 | |||
c335822cb9 | |||
61a8b00231 | |||
6e1c2d2aea | |||
8565f3ba20 | |||
b922c5779e | |||
f0b7db5667 | |||
befb51d499 | |||
467962efeb | |||
4db09fda31 | |||
33d273bbad | |||
f9083d44b4 | |||
8b0b0760e2 | |||
711896d20b | |||
b8acf12fd1 | |||
ed51591489 | |||
28a4933928 | |||
646e7ef51c | |||
e8b1269621 | |||
d2487d9c7d | |||
4e2022212c | |||
652788a89e | |||
297e5f4626 | |||
ab6aa16e0b | |||
7667128d71 | |||
0daba8d4eb | |||
f928b38541 | |||
0338e3b123 | |||
a18854659d | |||
5ea2423bd3 | |||
ce1cd04497 | |||
819ab57306 | |||
386a8aacce | |||
63baa21a28 | |||
2e2db854e6 | |||
ef02ce40fb | |||
eb663a8fd6 | |||
a6651c1cd1 | |||
cd669c03aa | |||
e2c3699eb9 | |||
1c18aa2dd7 | |||
64fb51aba7 | |||
46f30911bd | |||
76e8adcce3 | |||
be05e42303 | |||
be41e8018e | |||
b9e1509a87 | |||
1b4498b2ca | |||
88d7697b10 | |||
bcb8b9809a | |||
c79313fe11 | |||
7a62df1615 | |||
b311f1f377 | |||
249ab13d73 | |||
b81afae5be | |||
bce722eec0 | |||
2afff40f87 | |||
afc7af9ffb | |||
ebb1141863 | |||
34135f01b1 | |||
b739244320 | |||
6643fd7bc4 | |||
d1b4c72ce6 | |||
7e9559fde3 | |||
627c11326b | |||
cd7f08c147 | |||
faf4083806 | |||
2b0329bcfc | |||
9aa407cac9 | |||
a9ae7b964e | |||
362e7e9316 | |||
0446a40e62 | |||
e5b513297b | |||
0428a126f2 | |||
08e97debe7 | |||
fc1e277423 | |||
d70a3aa73f | |||
86a7ef66ee | |||
8dcc898244 | |||
55fe233ee7 | |||
316f74ada8 | |||
1de44c630b | |||
8c2ce911ba | |||
521a8278bf | |||
eba04b7d4d | |||
7a11708d57 | |||
5e5a256157 | |||
5bbe3fec89 | |||
a3970514b8 | |||
7e5994812b | |||
d75f226583 | |||
fd87c82580 | |||
345d8e2007 | |||
5c3ad4f891 | |||
82d63616f1 | |||
c3fd0d4d21 | |||
88a32fc2ba | |||
4ae7390d45 | |||
1448ed088a | |||
887c43da27 | |||
50e9e13e86 | |||
2010b0e2c3 | |||
f59aea0474 | |||
e9d78d8180 | |||
be98bf0965 | |||
119ff94a36 | |||
503b109c4d | |||
6ba8b897db | |||
d7e76c5a0e | |||
ea98b02d92 | |||
bc2b194acb | |||
4ea080e7f7 | |||
aa9e5b2807 | |||
cde4c4601b | |||
9c8ccf53cf | |||
1200287780 | |||
46bbfbbd01 | |||
d2e3b1647d | |||
c23fafcc21 | |||
ac80e3579d | |||
40af304083 | |||
7433b3fd7c | |||
b2b9f97dce | |||
5c657c20af | |||
595d0434cf | |||
b07d599dc2 | |||
dcdf27118c | |||
f5bdae6841 | |||
734486c822 | |||
876fc5d173 | |||
1674ae47f0 | |||
506e350179 | |||
2011d0b802 | |||
75377252a4 | |||
b9fa94e45c | |||
e460f4ff27 | |||
e7055a8508 | |||
fa01d2bcbd | |||
3b270bda3d | |||
7e7727e180 | |||
5dc794b903 | |||
8414769397 | |||
2cc1ca6ab7 | |||
acb56100d6 | |||
63c6322792 | |||
abf92f439e | |||
49138c64f1 | |||
9cc69afd5d | |||
b3eff31261 | |||
f49a8c0a09 | |||
26d91437ae | |||
a4eed77f33 | |||
d59359ad1a | |||
83e7c662fa | |||
8dc5665d5d | |||
2c77b55275 | |||
68b2b73434 | |||
ec326e9679 | |||
0b758da0f0 | |||
2e21cc5889 | |||
e6e1e7a747 | |||
763ca84ec2 | |||
b3849e3059 | |||
3bff2226c8 | |||
9b41663096 | |||
ddf5b46603 | |||
fbb2ba1905 | |||
7c8e416d66 | |||
6bb319155d | |||
f756d48232 | |||
8bbe39aae7 | |||
d02bb1adff | |||
57bbade3c8 | |||
d20b79d158 | |||
99796ab6ac | |||
53edd82fef | |||
dfcf841db4 | |||
21ba6b4d97 | |||
8aacd3d4f8 | |||
684ecc7cdd | |||
65a64e4e2a | |||
a03f0ffdb9 | |||
069382632e | |||
4f9d422d50 | |||
4613dc7259 | |||
48f8a2a422 | |||
0b0e49cf93 | |||
99f4d916d3 | |||
86ddacaaa2 | |||
fb120aa7f8 | |||
0529c85151 | |||
f7c0b18cc4 | |||
eb82f9d993 | |||
3c38348cf2 | |||
4f185fcd11 | |||
5e355feea9 | |||
2acac79173 | |||
6fa2286da5 | |||
e4b3d4cc40 | |||
c2e7d8edbf | |||
313db2ad68 | |||
958194bd2a | |||
cd6713ac92 | |||
49fe597502 | |||
f968612a60 | |||
4567eedf0d | |||
c29edfb717 | |||
0faa86cddd | |||
b766bb57db | |||
9a056f5b64 | |||
91b819a517 | |||
6856848112 | |||
525061f5bc | |||
692f3b1f38 | |||
d6217492c7 | |||
2992cbb613 | |||
f19e6b8a9e | |||
daaf4365af | |||
161abf5ddd | |||
5844af246e | |||
22cb16d3d2 | |||
c60fa5b7c0 | |||
cb0c02bc8f | |||
444366c00c | |||
08961271a4 | |||
df4957db76 | |||
15a6fc97cd | |||
b3b68e8c7a | |||
022ac06f44 | |||
defa10c76e | |||
204a45aaa4 | |||
71675f68b3 | |||
d3ed93ef5f | |||
872945d089 | |||
26740ccf86 | |||
f0192c27e8 | |||
b6f3c4c069 | |||
fe81facbdb | |||
77b6f2f013 | |||
25b9716e1f | |||
43c32d56d5 | |||
ddee574129 | |||
e68d8389a2 | |||
63ef389aaa | |||
e46e2b7e01 | |||
a1a99bd4cf | |||
290531562d | |||
db3be639df | |||
817c144bc2 | |||
32708cd428 | |||
78292a1518 | |||
d350eddad8 | |||
e9d75b973b | |||
879f4d5767 | |||
1d2c5d3b67 | |||
3570fc03a3 | |||
d199edade3 | |||
5ceabd378f | |||
162f95ab13 | |||
518c4d075d | |||
4a562d4e48 | |||
12a81c3b5d | |||
ca337ce99e | |||
b1f3a59828 | |||
a4b76623ae | |||
8e3c0b4204 | |||
e559fa8b82 | |||
e88fbfd4a7 | |||
1504fc779a | |||
d75db8e18c | |||
8f47ce7b63 | |||
673f68d2c1 | |||
c52a72f485 | |||
1bd3979241 | |||
5318554786 | |||
455f98a4a0 | |||
589f188b15 | |||
c11454ae11 | |||
8607ec28c2 | |||
5ddbc21969 | |||
5832b18775 | |||
fcf729383e | |||
5d75f266bb | |||
7bbe705331 | |||
4b9ef50d06 | |||
f146deca05 | |||
9bdd512057 | |||
8d152083aa | |||
f830579b55 | |||
27ae2aba21 | |||
56ebbe8055 | |||
67ad568de1 | |||
f93076c97b | |||
7805059bdf | |||
b0e96933ec | |||
ea3c803c4f | |||
db024a298f | |||
db10a294de | |||
ddb4859a3f | |||
d8945c9726 | |||
1d9995c90f | |||
cdaebf06a6 | |||
4eef349810 | |||
60a2f2bcaa | |||
97c68b8779 | |||
e5871d339e | |||
873f076f93 | |||
799fb1709e | |||
36079863e1 | |||
353b9202ea | |||
008f973829 | |||
9a9d9d6d64 | |||
ebbbe11980 | |||
31aedecfe2 | |||
eb73d564fa | |||
b87a3c5fbc | |||
5ae0e6314e | |||
894644001b | |||
67bb5554e4 | |||
4d641974d4 | |||
8add1a991a | |||
4109f58fd5 | |||
fba4b20c62 | |||
4453cf5d4c | |||
19f2d43cf6 | |||
a4217a66ea | |||
19cc525d04 | |||
0392517c53 | |||
72c57d28d5 | |||
38e1137e5e | |||
aad7f96adc | |||
3768015762 | |||
f833496ddf | |||
3c609d12ca | |||
1f801e5c86 | |||
cdc154528a | |||
6d20b29c38 | |||
753c55443a | |||
bcb8b8c601 | |||
c5a3a21a9b | |||
eb85dfc349 | |||
2cd7b6e448 | |||
9fb12587be | |||
83229cd5c1 | |||
d21d36585a | |||
470eea0dbe | |||
06d3df0aea | |||
b3cc352155 | |||
0ec141ae3a | |||
3526523d9e | |||
c9ec6fc537 | |||
799604874d | |||
1a04c71b5e | |||
69a01f7822 | |||
c3f298bab5 | |||
c899e5922b | |||
a306cf81ca | |||
2abddbe97b | |||
d5ff963143 | |||
1fc970d4d5 | |||
ad06ef506f | |||
db4b746743 | |||
0af50b64b2 | |||
e34f3d01c1 | |||
24b514e3f3 | |||
0198b2a2b0 | |||
885183c7c8 | |||
2309e6c1a1 | |||
8249409339 | |||
86da64d500 | |||
3a3831b367 | |||
7828b1dff5 | |||
9fd611817c | |||
bb289f6e73 | |||
8f96a32b57 | |||
f4ab8c3fbd | |||
1f26fcd3a8 | |||
b3b0a8ac72 | |||
f07a27b32a | |||
89ed8411e4 | |||
815e3367e7 | |||
18e6c49f52 | |||
b38ac72308 | |||
556185b121 | |||
afa872fff0 | |||
fb2cafb898 | |||
294c313dd6 | |||
3ec01aad89 | |||
07d1da1f91 | |||
33692fa054 | |||
8a61f2a803 | |||
6fd97d2ff1 | |||
713a714e8b | |||
bd42cb3e9e | |||
b40ee72e40 | |||
4d0efb7bd9 | |||
85a3e88876 | |||
c727d2a350 | |||
9ed99f6c50 | |||
dfba798bd7 | |||
7922452f30 | |||
9444187fb8 |
66
.clang-format
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# Generated from CLion C/C++ Code Style settings
|
||||||
|
BasedOnStyle: LLVM
|
||||||
|
AccessModifierOffset: -4
|
||||||
|
AlignAfterOpenBracket: Align
|
||||||
|
AlignConsecutiveAssignments: None
|
||||||
|
AlignOperands: Align
|
||||||
|
AllowAllArgumentsOnNextLine: false
|
||||||
|
AllowAllConstructorInitializersOnNextLine: false
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: false
|
||||||
|
AllowShortBlocksOnASingleLine: Always
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: All
|
||||||
|
AllowShortIfStatementsOnASingleLine: Always
|
||||||
|
AllowShortLambdasOnASingleLine: All
|
||||||
|
AllowShortLoopsOnASingleLine: true
|
||||||
|
AlwaysBreakAfterReturnType: None
|
||||||
|
AlwaysBreakTemplateDeclarations: Yes
|
||||||
|
BreakBeforeBraces: Custom
|
||||||
|
BraceWrapping:
|
||||||
|
AfterCaseLabel: false
|
||||||
|
AfterClass: true
|
||||||
|
AfterControlStatement: Always
|
||||||
|
AfterEnum: true
|
||||||
|
AfterFunction: true
|
||||||
|
AfterNamespace: false
|
||||||
|
AfterUnion: true
|
||||||
|
BeforeCatch: false
|
||||||
|
BeforeElse: true
|
||||||
|
IndentBraces: false
|
||||||
|
SplitEmptyFunction: false
|
||||||
|
SplitEmptyRecord: true
|
||||||
|
BreakBeforeBinaryOperators: None
|
||||||
|
BreakBeforeTernaryOperators: false
|
||||||
|
BreakConstructorInitializers: BeforeColon
|
||||||
|
BreakInheritanceList: BeforeColon
|
||||||
|
ColumnLimit: 0
|
||||||
|
CompactNamespaces: false
|
||||||
|
ContinuationIndentWidth: 8
|
||||||
|
IndentCaseLabels: false
|
||||||
|
IndentPPDirectives: None
|
||||||
|
IndentWidth: 4
|
||||||
|
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||||
|
MaxEmptyLinesToKeep: 2
|
||||||
|
NamespaceIndentation: None
|
||||||
|
ObjCSpaceAfterProperty: false
|
||||||
|
ObjCSpaceBeforeProtocolList: true
|
||||||
|
PointerAlignment: Right
|
||||||
|
ReflowComments: false
|
||||||
|
SpaceAfterCStyleCast: true
|
||||||
|
SpaceAfterLogicalNot: false
|
||||||
|
SpaceAfterTemplateKeyword: false
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
SpaceBeforeCpp11BracedList: false
|
||||||
|
SpaceBeforeCtorInitializerColon: true
|
||||||
|
SpaceBeforeInheritanceColon: true
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpaceBeforeRangeBasedForLoopColon: false
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesBeforeTrailingComments: 0
|
||||||
|
SpacesInAngles: false
|
||||||
|
SpacesInCStyleCastParentheses: false
|
||||||
|
SpacesInContainerLiterals: false
|
||||||
|
SpacesInParentheses: false
|
||||||
|
SpacesInSquareBrackets: false
|
||||||
|
TabWidth: 4
|
||||||
|
UseTab: Never
|
363
.github/workflows/workflow.yml
vendored
Normal file
@ -0,0 +1,363 @@
|
|||||||
|
name: CI
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- created
|
||||||
|
# pull_request:
|
||||||
|
# types: [opened, synchronize, reopened]
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
checkout:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Checkout (with submodules)
|
||||||
|
steps:
|
||||||
|
- name: Cache repository
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-repository
|
||||||
|
with:
|
||||||
|
path: repository
|
||||||
|
key: ${{ runner.os }}-repository-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Checkout (without submodules)
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: repository
|
||||||
|
|
||||||
|
- name: Fast Submodule Checkout esp-idf
|
||||||
|
uses: 0xFEEDC0DE64/fast_submodule_checkout@main
|
||||||
|
with:
|
||||||
|
submodule: esp-idf
|
||||||
|
repo: repository
|
||||||
|
|
||||||
|
- name: Fast Submodule Checkout components/arduino-esp32
|
||||||
|
uses: 0xFEEDC0DE64/fast_submodule_checkout@main
|
||||||
|
with:
|
||||||
|
submodule: components/arduino-esp32
|
||||||
|
repo: repository
|
||||||
|
|
||||||
|
- name: Checkout remaining submodules
|
||||||
|
run: git -C repository submodule update --init --recursive $(git -C repository submodule | awk '{ if ($2 != "esp-idf" && $2 != "components/arduino-esp32") print $2 }')
|
||||||
|
|
||||||
|
checkout-history:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Checkout (with history and submodules)
|
||||||
|
steps:
|
||||||
|
- name: Cache repository
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-repository
|
||||||
|
with:
|
||||||
|
path: repository
|
||||||
|
key: ${{ runner.os }}-repository-history-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Checkout (without submodules)
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: repository
|
||||||
|
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
||||||
|
|
||||||
|
- name: Fast Submodule Checkout esp-idf
|
||||||
|
uses: 0xFEEDC0DE64/fast_submodule_checkout@main
|
||||||
|
with:
|
||||||
|
submodule: esp-idf
|
||||||
|
repo: repository
|
||||||
|
|
||||||
|
- name: Fast Submodule Checkout components/arduino-esp32
|
||||||
|
uses: 0xFEEDC0DE64/fast_submodule_checkout@main
|
||||||
|
with:
|
||||||
|
submodule: components/arduino-esp32
|
||||||
|
repo: repository
|
||||||
|
|
||||||
|
- name: Checkout remaining submodules
|
||||||
|
run: git -C repository submodule update --init --recursive $(git -C repository submodule | awk '{ if ($2 != "esp-idf" && $2 != "components/arduino-esp32") print $2 }')
|
||||||
|
|
||||||
|
install-idf:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Install esp-idf
|
||||||
|
needs:
|
||||||
|
- checkout
|
||||||
|
steps:
|
||||||
|
- name: Cache repository
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-repository
|
||||||
|
with:
|
||||||
|
path: repository
|
||||||
|
key: ${{ runner.os }}-repository-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Verify that "Cache repostory" had a hit
|
||||||
|
if: ${{ steps.cache-repository.outputs.cache-hit != 'true' }}
|
||||||
|
run: exit 1
|
||||||
|
|
||||||
|
- name: Get esp-idf release name
|
||||||
|
id: get-esp-idf-release
|
||||||
|
uses: 0xFEEDC0DE64/get_latest_tag@main
|
||||||
|
with:
|
||||||
|
repo: repository/esp-idf
|
||||||
|
|
||||||
|
- name: Cache .espressif
|
||||||
|
id: cache-espressif
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.espressif
|
||||||
|
key: ${{ runner.os }}-espressif-${{ steps.get-esp-idf-release.outputs.tag_name }}
|
||||||
|
|
||||||
|
- name: Install .espressif dependencies
|
||||||
|
if: ${{ steps.cache-espressif.outputs.cache-hit != 'true' }}
|
||||||
|
run: repository/esp-idf/install.sh
|
||||||
|
|
||||||
|
install-sonar-scanner:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
SONAR_SCANNER_VERSION: 4.4.0.2170
|
||||||
|
name: Install sonar-scanner
|
||||||
|
steps:
|
||||||
|
- name: Cache sonar-scanner
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-sonar-scanner
|
||||||
|
with:
|
||||||
|
path: sonar-scanner
|
||||||
|
key: ${{ runner.os }}-sonar-scanner-${{ env.SONAR_SCANNER_VERSION }}
|
||||||
|
|
||||||
|
- name: Download and set up sonar-scanner
|
||||||
|
env:
|
||||||
|
SONAR_SCANNER_DOWNLOAD_URL: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${{ env.SONAR_SCANNER_VERSION }}-linux.zip
|
||||||
|
if: ${{ steps.cache-sonar-scanner.outputs.cache-hit != 'true' }}
|
||||||
|
run: |
|
||||||
|
curl -sSLo sonar-scanner.zip ${{ env.SONAR_SCANNER_DOWNLOAD_URL }}
|
||||||
|
unzip -o sonar-scanner.zip -d sonar-scanner/
|
||||||
|
echo "$(pwd)/sonar-scanner/sonar-scanner-${{ env.SONAR_SCANNER_VERSION }}-linux/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
|
install-sonar-build-wrapper:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Install sonar-build-wrapper
|
||||||
|
steps:
|
||||||
|
- name: Cache sonar-build-wrapper
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-sonar-build-wrapper
|
||||||
|
with:
|
||||||
|
path: sonar-build-wrapper
|
||||||
|
key: ${{ runner.os }}-sonar-build-wrapper
|
||||||
|
|
||||||
|
- name: Download and set up build-wrapper (for Sonar)
|
||||||
|
env:
|
||||||
|
BUILD_WRAPPER_DOWNLOAD_URL: https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip
|
||||||
|
if: ${{ steps.cache-sonar-build-wrapper.outputs.cache-hit != 'true' }}
|
||||||
|
run: |
|
||||||
|
curl -sSLo build-wrapper-linux-x86.zip ${{ env.BUILD_WRAPPER_DOWNLOAD_URL }}
|
||||||
|
unzip -o build-wrapper-linux-x86.zip -d sonar-build-wrapper/
|
||||||
|
echo "$(pwd)/sonar-build-wrapper/build-wrapper-linux-x86" >> $GITHUB_PATH
|
||||||
|
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
node: [feedc0de, feedc0de_new, comred_new, peter, mick, nofeatures, seatbot]
|
||||||
|
name: ${{ matrix.node }}
|
||||||
|
needs:
|
||||||
|
- checkout
|
||||||
|
- install-idf
|
||||||
|
steps:
|
||||||
|
- name: Cache repository
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-repository
|
||||||
|
with:
|
||||||
|
path: repository
|
||||||
|
key: ${{ runner.os }}-repository-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Verify that "Cache repostory" had a hit
|
||||||
|
if: ${{ steps.cache-repository.outputs.cache-hit != 'true' }}
|
||||||
|
run: exit 1
|
||||||
|
|
||||||
|
- name: Get esp-idf release name
|
||||||
|
id: get-esp-idf-release
|
||||||
|
uses: 0xFEEDC0DE64/get_latest_tag@main
|
||||||
|
with:
|
||||||
|
repo: repository/esp-idf
|
||||||
|
|
||||||
|
- name: Cache .espressif
|
||||||
|
id: cache-espressif
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.espressif
|
||||||
|
key: ${{ runner.os }}-espressif-${{ steps.get-esp-idf-release.outputs.tag_name }}
|
||||||
|
|
||||||
|
- name: Verify that "Cache .espressif" had a hit
|
||||||
|
if: ${{ steps.cache-espressif.outputs.cache-hit != 'true' }}
|
||||||
|
run: |
|
||||||
|
echo "Cache .espressif did not hit? Did the prepare step run successfully?"
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
- name: Setup ccache
|
||||||
|
uses: 0xFEEDC0DE64/setup_ccache@main
|
||||||
|
with:
|
||||||
|
key: ${{ runner.os }}-ccache-${{ matrix.node }}
|
||||||
|
|
||||||
|
- name: Unpack ignore folder
|
||||||
|
env:
|
||||||
|
GPG_KEY: ${{ secrets.GPG_KEY }}
|
||||||
|
if: ${{ matrix.node == 'comred' || matrix.node == 'peter' || matrix.node == 'mick' || matrix.node == 'comred_new' }}
|
||||||
|
run: |
|
||||||
|
echo Unpacking ignore folder...
|
||||||
|
cd repository
|
||||||
|
tools/bobby-decrypt
|
||||||
|
|
||||||
|
- name: Build firmware
|
||||||
|
run: |
|
||||||
|
cd repository
|
||||||
|
export CCACHE_MAXSIZE=1024M CCACHE_BASEDIR="$(pwd)"
|
||||||
|
./esp-idf/install.sh
|
||||||
|
. export.sh
|
||||||
|
./switchconf.sh ${{ matrix.node }}
|
||||||
|
idf.py --ccache build
|
||||||
|
ccache -s
|
||||||
|
|
||||||
|
- name: Set outputs
|
||||||
|
id: vars
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
|
||||||
|
echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||||
|
|
||||||
|
- name: Upload Build Artifact
|
||||||
|
uses: actions/upload-artifact@v2.2.4
|
||||||
|
with:
|
||||||
|
name: bobbyquad_${{ matrix.node }}
|
||||||
|
path: |
|
||||||
|
repository/build_${{ matrix.node }}/bobbyquad_${{ matrix.node }}.bin
|
||||||
|
repository/build_${{ matrix.node }}/bobbyquad_${{ matrix.node }}.elf
|
||||||
|
|
||||||
|
build-and-analyze:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory
|
||||||
|
SONAR_SCANNER_VERSION: 4.4.0.2170
|
||||||
|
SONAR_CACHE_DIR: sonar_cache
|
||||||
|
name: allfeatures
|
||||||
|
needs:
|
||||||
|
- checkout-history
|
||||||
|
- install-idf
|
||||||
|
- install-sonar-build-wrapper
|
||||||
|
- install-sonar-scanner
|
||||||
|
steps:
|
||||||
|
- name: Cache repository
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-repository
|
||||||
|
with:
|
||||||
|
path: repository
|
||||||
|
key: ${{ runner.os }}-repository-history-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Verify that "Cache repostory" had a hit
|
||||||
|
if: ${{ steps.cache-repository.outputs.cache-hit != 'true' }}
|
||||||
|
run: exit 1
|
||||||
|
|
||||||
|
- name: Get esp-idf release name
|
||||||
|
id: get-esp-idf-release
|
||||||
|
uses: 0xFEEDC0DE64/get_latest_tag@main
|
||||||
|
with:
|
||||||
|
repo: repository/esp-idf
|
||||||
|
|
||||||
|
- name: Cache .espressif
|
||||||
|
id: cache-espressif
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.espressif
|
||||||
|
key: ${{ runner.os }}-espressif-${{ steps.get-esp-idf-release.outputs.tag_name }}
|
||||||
|
|
||||||
|
- name: Verify that "Cache .espressif" had a hit
|
||||||
|
if: ${{ steps.cache-espressif.outputs.cache-hit != 'true' }}
|
||||||
|
run: |
|
||||||
|
echo "Cache .espressif did not hit? Did the prepare step run successfully?"
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
- name: Cache sonar-scanner
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-sonar-scanner
|
||||||
|
with:
|
||||||
|
path: sonar-scanner
|
||||||
|
key: ${{ runner.os }}-sonar-scanner-${{ env.SONAR_SCANNER_VERSION }}
|
||||||
|
|
||||||
|
- name: Verify that "Cache sonar-scanner" had a hit
|
||||||
|
if: ${{ steps.cache-sonar-scanner.outputs.cache-hit != 'true' }}
|
||||||
|
run: |
|
||||||
|
echo "Cache sonar-scanner did not hit? Did the prepare step run successfully?"
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
- name: Cache sonar-build-wrapper
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-sonar-build-wrapper
|
||||||
|
with:
|
||||||
|
path: sonar-build-wrapper
|
||||||
|
key: ${{ runner.os }}-sonar-build-wrapper
|
||||||
|
|
||||||
|
- name: Verify that "Cache sonar-build-wrapper" had a hit
|
||||||
|
if: ${{ steps.cache-sonar-build-wrapper.outputs.cache-hit != 'true' }}
|
||||||
|
run: |
|
||||||
|
echo "Cache sonar-build-wrapper did not hit? Did the prepare step run successfully?"
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
- name: Cache sonar-build-wrapper-output
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-sonar-build-wrapper-output
|
||||||
|
with:
|
||||||
|
path: repository
|
||||||
|
key: ${{ runner.os }}-sonar-build-wrapper-output-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Set up JDK 11 (for Sonar)
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Setup sonar-build-wrapper
|
||||||
|
run: echo "$(pwd)/sonar-build-wrapper/build-wrapper-linux-x86" >> $GITHUB_PATH
|
||||||
|
|
||||||
|
- name: Setup ccache
|
||||||
|
uses: 0xFEEDC0DE64/setup_ccache@main
|
||||||
|
with:
|
||||||
|
key: ${{ runner.os }}-ccache-allfeatures
|
||||||
|
|
||||||
|
- name: Build firmware
|
||||||
|
run: |
|
||||||
|
cd repository
|
||||||
|
export CCACHE_MAXSIZE=1024M CCACHE_BASEDIR="$(pwd)"
|
||||||
|
./esp-idf/install.sh
|
||||||
|
. export.sh
|
||||||
|
./switchconf.sh allfeatures
|
||||||
|
build-wrapper-linux-x86-64 --out-dir "${{ env.BUILD_WRAPPER_OUT_DIR }}" idf.py --ccache build
|
||||||
|
ccache -s
|
||||||
|
|
||||||
|
- name: Set outputs
|
||||||
|
id: vars
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
|
||||||
|
echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||||
|
|
||||||
|
- name: Upload Build Artifact
|
||||||
|
uses: actions/upload-artifact@v2.2.4
|
||||||
|
with:
|
||||||
|
name: bobbyquad_allfeatures
|
||||||
|
path: |
|
||||||
|
repository/build_allfeatures/bobbyquad_allfeatures.bin
|
||||||
|
repository/build_allfeatures/bobbyquad_allfeatures.elf
|
||||||
|
|
||||||
|
- name: Setup sonar-scanner
|
||||||
|
run: echo "$(pwd)/sonar-scanner/sonar-scanner-${{ env.SONAR_SCANNER_VERSION }}-linux/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
|
- name: Cache sonar-scanner-cache
|
||||||
|
uses: 0xFEEDC0DE64/cache-with-update@update-cache-on-cachehit
|
||||||
|
with:
|
||||||
|
path: ${{ env.SONAR_CACHE_DIR }}
|
||||||
|
key: ${{ runner.os }}-sonar-scanner-cache-${{ env.SONAR_SCANNER_VERSION }}
|
||||||
|
|
||||||
|
- name: Run sonar-scanner
|
||||||
|
continue-on-error: true
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||||
|
run: |
|
||||||
|
cd repository
|
||||||
|
sonar-scanner \
|
||||||
|
--define sonar.host.url="https://sonarcloud.io" \
|
||||||
|
--define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" \
|
||||||
|
--define sonar.cfamily.cache.path="../${{ env.SONAR_CACHE_DIR }}"
|
17
.gitignore
vendored
@ -1,2 +1,15 @@
|
|||||||
.pio
|
desktop.ini
|
||||||
platformio.pro*
|
/build
|
||||||
|
/build_*
|
||||||
|
/CMakeLists.txt.user*
|
||||||
|
/cmake-build-debug
|
||||||
|
/platformio.pro*
|
||||||
|
/config.cmake
|
||||||
|
/sdkconfig
|
||||||
|
/sdkconfig.old*
|
||||||
|
/ignore
|
||||||
|
/.idea
|
||||||
|
/.ccache
|
||||||
|
/main/certs/*
|
||||||
|
/.vscode/*
|
||||||
|
/ignore.tar.gz
|
||||||
|
78
.gitmodules
vendored
@ -1,3 +1,75 @@
|
|||||||
[submodule "src/bobbycar-protocol"]
|
[submodule "components/espcpputils"]
|
||||||
path = src/bobbycar-protocol
|
path = components/espcpputils
|
||||||
url = git@github.com:bobbycar-graz/bobbycar-protocol.git
|
url = ../../0xFEEDC0DE64/espcpputils.git
|
||||||
|
[submodule "esp-idf"]
|
||||||
|
path = esp-idf
|
||||||
|
url = ../../bobbycar-graz/esp-idf.git
|
||||||
|
[submodule "components/cpputils"]
|
||||||
|
path = components/cpputils
|
||||||
|
url = ../../0xFEEDC0DE64/cpputils.git
|
||||||
|
[submodule "components/cxx-ring-buffer"]
|
||||||
|
path = components/cxx-ring-buffer
|
||||||
|
url = ../../0xFEEDC0DE64/cxx-ring-buffer.git
|
||||||
|
[submodule "components/date"]
|
||||||
|
path = components/date
|
||||||
|
url = ../../0xFEEDC0DE64/date.git
|
||||||
|
[submodule "components/espchrono"]
|
||||||
|
path = components/espchrono
|
||||||
|
url = ../../0xFEEDC0DE64/espchrono.git
|
||||||
|
[submodule "components/ArduinoJson"]
|
||||||
|
path = components/ArduinoJson
|
||||||
|
url = ../../0xFEEDC0DE64/ArduinoJson.git
|
||||||
|
[submodule "components/arduino-esp32"]
|
||||||
|
path = components/arduino-esp32
|
||||||
|
url = ../../0xFEEDC0DE64/arduino-esp32.git
|
||||||
|
[submodule "components/bobbycar-protocol"]
|
||||||
|
path = components/bobbycar-protocol
|
||||||
|
url = ../../bobbycar-graz/bobbycar-protocol.git
|
||||||
|
[submodule "components/fmt"]
|
||||||
|
path = components/fmt
|
||||||
|
url = ../../0xFEEDC0DE64/fmt.git
|
||||||
|
[submodule "components/espwifistack"]
|
||||||
|
path = components/espwifistack
|
||||||
|
url = ../../0xFEEDC0DE64/espwifistack.git
|
||||||
|
[submodule "components/esp-nimble-cpp"]
|
||||||
|
path = components/esp-nimble-cpp
|
||||||
|
url = ../../bobbycar-graz/esp-nimble-cpp.git
|
||||||
|
[submodule "components/espasyncota"]
|
||||||
|
path = components/espasyncota
|
||||||
|
url = ../../0xFEEDC0DE64/espasyncota.git
|
||||||
|
[submodule "components/esphttpdutils"]
|
||||||
|
path = components/esphttpdutils
|
||||||
|
url = ../../0xFEEDC0DE64/esphttpdutils.git
|
||||||
|
[submodule "components/espasynchttpreq"]
|
||||||
|
path = components/espasynchttpreq
|
||||||
|
url = ../../0xFEEDC0DE64/espasynchttpreq.git
|
||||||
|
[submodule "components/FastLED-idf"]
|
||||||
|
path = components/FastLED-idf
|
||||||
|
url = ../../0xFEEDC0DE64/FastLED-idf.git
|
||||||
|
[submodule "components/esp-gui-lib"]
|
||||||
|
path = components/esp-gui-lib
|
||||||
|
url = ../../0xFEEDC0DE64/esp-gui-lib.git
|
||||||
|
[submodule "components/espconfiglib"]
|
||||||
|
path = components/espconfiglib
|
||||||
|
url = ../../0xFEEDC0DE64/espconfiglib.git
|
||||||
|
[submodule "components/QRCode-esp32"]
|
||||||
|
path = components/QRCode-esp32
|
||||||
|
url = ../../bobbycar-graz/QRCode-esp32.git
|
||||||
|
[submodule "components/sunset"]
|
||||||
|
path = components/sunset
|
||||||
|
url = ../../bobbycar-graz/sunset.git
|
||||||
|
[submodule "esp-protocols"]
|
||||||
|
path = esp-protocols
|
||||||
|
url = ../../0xFEEDC0DE64/esp-protocols.git
|
||||||
|
[submodule "components/TFT_eSPI"]
|
||||||
|
path = components/TFT_eSPI
|
||||||
|
url = ../../0xFEEDC0DE64/TFT_eSPI.git
|
||||||
|
[submodule "esp_boost"]
|
||||||
|
path = esp_boost
|
||||||
|
url = ../../0xFEEDC0DE64/esp_boost.git
|
||||||
|
[submodule "components/esptftlib"]
|
||||||
|
path = components/esptftlib
|
||||||
|
url = ../../0xFEEDC0DE64/esptftlib.git
|
||||||
|
[submodule "components/espfontlib"]
|
||||||
|
path = components/espfontlib
|
||||||
|
url = ../../0xFEEDC0DE64/espfontlib.git
|
||||||
|
28
.travis.yml
@ -1,28 +0,0 @@
|
|||||||
language: python
|
|
||||||
python:
|
|
||||||
- "2.7"
|
|
||||||
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- "~/.platformio"
|
|
||||||
git:
|
|
||||||
submodules: false
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- sed -i 's/git@github.com:/https:\/\/github.com\//' .gitmodules
|
|
||||||
- git submodule update --init --recursive
|
|
||||||
|
|
||||||
install:
|
|
||||||
- pip install -U platformio
|
|
||||||
- platformio update
|
|
||||||
|
|
||||||
env:
|
|
||||||
- BUILD_CONFIG=feedc0de_usb
|
|
||||||
- BUILD_CONFIG=greyhash_usb
|
|
||||||
- BUILD_CONFIG=aveexy_usb
|
|
||||||
- BUILD_CONFIG=testbench_usb
|
|
||||||
- BUILD_CONFIG=mickdermack_usb
|
|
||||||
- BUILD_CONFIG=peter_usb
|
|
||||||
|
|
||||||
script:
|
|
||||||
- platformio run -e $BUILD_CONFIG
|
|
46
CMakeLists.txt
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.16.3)
|
||||||
|
|
||||||
|
if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sdkconfig)
|
||||||
|
message(FATAL_ERROR "sdkconfig not found (please run ./switchconf.sh)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/config.cmake)
|
||||||
|
message(FATAL_ERROR "config.cmake not found (please run ./switchconf.sh)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
file(READ_SYMLINK ${CMAKE_CURRENT_SOURCE_DIR}/sdkconfig result)
|
||||||
|
if (result STREQUAL "")
|
||||||
|
message(FATAL_ERROR "sdkconfig is not a symlink (please run ./switchconf.sh)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
file(READ_SYMLINK ${CMAKE_CURRENT_SOURCE_DIR}/config.cmake result)
|
||||||
|
if (result STREQUAL "")
|
||||||
|
message(FATAL_ERROR "config.cmake is not a symlink (please run ./switchconf.sh)")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(config.cmake)
|
||||||
|
|
||||||
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 23)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
idf_build_set_property(CXX_COMPILE_OPTIONS -std=gnu++23 APPEND)
|
||||||
|
|
||||||
|
set(EXTRA_COMPONENT_DIRS
|
||||||
|
esp_boost
|
||||||
|
esp-protocols/components
|
||||||
|
)
|
||||||
|
|
||||||
|
project(${BOBBY_APP_NAME})
|
||||||
|
|
||||||
|
set(expected_build_folder "${CMAKE_CURRENT_SOURCE_DIR}/build")
|
||||||
|
file(READ_SYMLINK "${expected_build_folder}" expected_build_folder_resolved)
|
||||||
|
if(NOT IS_ABSOLUTE "${expected_build_folder_resolved}")
|
||||||
|
get_filename_component(dir "${expected_build_folder}" DIRECTORY)
|
||||||
|
set(expected_build_folder_resolved "${dir}/${expected_build_folder_resolved}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT PROJECT_BINARY_DIR STREQUAL "${expected_build_folder}" AND NOT PROJECT_BINARY_DIR STREQUAL "${expected_build_folder_resolved}")
|
||||||
|
message(FATAL_ERROR "building in ${PROJECT_BINARY_DIR} is not supported, you have to build in ${expected_build_folder} or ${expected_build_folder_resolved} (please run ./switchconf.sh)")
|
||||||
|
endif()
|
53
README.md
@ -1,13 +1,58 @@
|
|||||||
# bobbycar-boardcomputer-firmware
|
# bobbycar-boardcomputer-firmware
|
||||||
|
|
||||||
## How to clone and compile?
|
## Build status
|
||||||
|
|
||||||
```
|
| Service | Status |
|
||||||
|
| :--- | ---: |
|
||||||
|
| Actions (CI) | [](https://github.com/bobbycar-graz/bobbycar-boardcomputer-firmware/actions/workflows/workflow.yml) |
|
||||||
|
| Sonar | [](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware)<br />[](https://sonarcloud.io/summary/new_code?id=bobbycar-graz_bobbycar-boardcomputer-firmware) |
|
||||||
|
## How to clone ? (READ THIS OR YOU WILL FAIL)
|
||||||
|
|
||||||
|
```bash
|
||||||
git clone --recursive git@github.com:bobbycar-graz/bobbycar-boardcomputer-firmware.git
|
git clone --recursive git@github.com:bobbycar-graz/bobbycar-boardcomputer-firmware.git
|
||||||
cd bobbycar-boardcomputer-firmware/
|
cd bobbycar-boardcomputer-firmware/
|
||||||
platformio run --environment bobbycar_usb --target upload
|
./esp-idf/install.sh
|
||||||
|
./switchconf.sh feedc0de
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## How to compile
|
||||||
|
Also do the initialization if you use an IDE, otherwise build will fail.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# before you try to build anything, always do this first:
|
||||||
|
. export.sh
|
||||||
|
|
||||||
|
# if needed, switch to the right configuration for your hardware (run with --list to list available configurations)
|
||||||
|
./switchconf.sh feedc0de
|
||||||
|
|
||||||
|
# flash bootloader, partition table and app (only do once)
|
||||||
|
idf.py -p /dev/ttyUSB0 -b 921600 flash monitor
|
||||||
|
|
||||||
|
# flash only app (do this for development as it is much faster)
|
||||||
|
idf.py -p /dev/ttyUSB0 -b 921600 app-flash monitor
|
||||||
|
|
||||||
|
# alternative commands (After '. export.sh')
|
||||||
|
bobby-build # Builds the firmware
|
||||||
|
bobby-flash # Flashes the firmware
|
||||||
|
bobby-app-flash # Just flashes the app partition
|
||||||
|
bobby-monitor # Opens the serial monitor
|
||||||
|
bobby-coredump # Opens the coredump-utility
|
||||||
|
open-ide # Opens qtcreator
|
||||||
|
```
|
||||||
|
|
||||||
|
If you are inside monitor, hit Ctrl+T then Ctrl+X to exit.
|
||||||
|
|
||||||
|
Hit Ctrl+T then Ctrl+A to reflash the app and return to monitor (very handy during development)
|
||||||
|
|
||||||
## How to wire all connections?
|
## How to wire all connections?
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
### -DFEATURE_DPAD
|
||||||
|

|
||||||
|
|
||||||
|
### -DFEATURE_DPAD_3WIRESW
|
||||||
|

|
||||||
|
|
||||||
|
### -DFEATURE_ROTARY
|
||||||
|

|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
# Name, Type, SubType, Offset, Size, Flags
|
|
||||||
nvs, data, nvs, 0x9000, 0x5000,
|
|
||||||
otadata, data, ota, 0xe000, 0x2000,
|
|
||||||
app0, app, ota_0, 0x10000, 0x250000,
|
|
||||||
app1, app, ota_1, 0x260000, 0x250000,
|
|
||||||
spiffs, data, spiffs, 0x520000, 0x250000,
|
|
|
@ -1,5 +0,0 @@
|
|||||||
# Name, Type, SubType, Offset, Size, Flags
|
|
||||||
nvs, data, nvs, 0x9000, 0x5000,
|
|
||||||
otadata, data, ota, 0xe000, 0x2000,
|
|
||||||
app0, app, ota_0, 0x10000, 0x250000,
|
|
||||||
spiffs, data, spiffs, 0x260000, 0x1a0000,
|
|
|
1
components/ArduinoJson
Submodule
1
components/FastLED-idf
Submodule
1
components/QRCode-esp32
Submodule
1
components/TFT_eSPI
Submodule
1
components/arduino-esp32
Submodule
1
components/bobbycar-protocol
Submodule
1
components/cpputils
Submodule
1
components/cxx-ring-buffer
Submodule
1
components/date
Submodule
1
components/esp-gui-lib
Submodule
1
components/esp-nimble-cpp
Submodule
1
components/espasynchttpreq
Submodule
1
components/espasyncota
Submodule
1
components/espchrono
Submodule
1
components/espconfiglib
Submodule
1
components/espcpputils
Submodule
1
components/espfontlib
Submodule
1
components/esphttpdutils
Submodule
1
components/esptftlib
Submodule
1
components/espwifistack
Submodule
1
components/fmt
Submodule
1
components/sunset
Submodule
80
configs/config_allfeatures.cmake
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_allfeatures)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME allfeatures)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
-DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
-DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
-DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=7
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# -DFEATURE_DPAD_5WIRESW
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_EXTRASW_IN5=25
|
||||||
|
-DFEATURE_DPAD_6WIRESW
|
||||||
|
-DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
-DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
-DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
-DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
-DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
-DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
-DFEATURE_GSCHISSENE_DIODE
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
90
configs/config_aveexy.cmake
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_aveexy)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME aveexy)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
-DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# -DFEATURE_DPAD_5WIRESW
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_EXTRASW_IN5=25
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
-DDPAD_BOARDCOMPUTER_V2
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT1=19
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT2=5
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN1=4
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN2=18
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN3=27
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN4=16
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2_DEBUG
|
||||||
|
)
|
||||||
|
|
87
configs/config_comred.cmake
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_comred)
|
||||||
|
set(BOBBY_DEFAULT_USERNAMENAME comred)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
-DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# -DFEATURE_DPAD_5WIRESW
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_EXTRASW_IN5=25
|
||||||
|
-DFEATURE_DPAD_6WIRESW
|
||||||
|
-DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
-DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
-DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
-DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
-DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
-DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
-DFEATURE_GSCHISSENE_DIODE
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
include("${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
message(WARNING "Including plugins")
|
||||||
|
endif()
|
94
configs/config_comred_new.cmake
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_comred_new)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME comred_new)
|
||||||
|
|
||||||
|
# add_definitions(
|
||||||
|
# -DUSER_SETUP_LOADED=1
|
||||||
|
# -DLOAD_GLCD=1
|
||||||
|
# -DLOAD_FONT2=1
|
||||||
|
# -DLOAD_FONT4=1
|
||||||
|
# -DLOAD_FONT7=1
|
||||||
|
# -DILI9341_DRIVER=1
|
||||||
|
# -DTFT_MOSI=13
|
||||||
|
# -DTFT_SCLK=15
|
||||||
|
# -DTFT_CS=14
|
||||||
|
# -DTFT_DC=12
|
||||||
|
# -DTFT_RST=2
|
||||||
|
# -DSPI_FREQUENCY=40000000
|
||||||
|
# )
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
-DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# -DFEATURE_DPAD_5WIRESW
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_EXTRASW_IN5=25
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
-DDPAD_BOARDCOMPUTER_V2
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT1=19
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT2=5
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN1=4
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN2=18
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN3=27
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN4=16
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2_DEBUG
|
||||||
|
)
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
include("${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
message(WARNING "Including plugins")
|
||||||
|
endif()
|
64
configs/config_feedc0de.cmake
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_feedc0de)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME feedc0de)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
-DPINS_MOSFET0=4
|
||||||
|
-DPINS_MOSFET1=5
|
||||||
|
-DPINS_MOSFET2=25
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=26
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
-DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
-DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
# -DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=255
|
||||||
|
-DDEFAULT_IMOTMAX=40
|
||||||
|
-DDEFAULT_IDCMAX=42
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
-DFEATURE_DPAD_5WIRESW_2OUT
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT1=18
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT2=19
|
||||||
|
-DPINS_DPAD_5WIRESW_IN1=27
|
||||||
|
-DPINS_DPAD_5WIRESW_IN2=32
|
||||||
|
-DPINS_DPAD_5WIRESW_IN3=33
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
56
configs/config_feedc0de_new.cmake
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_feedc0de)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME feedc0de)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
-DPINS_MOSFET0=4
|
||||||
|
-DPINS_MOSFET1=5
|
||||||
|
-DPINS_MOSFET2=25
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=26
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
-DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
-DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
# -DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
# -DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=255
|
||||||
|
-DDEFAULT_IMOTMAX=40
|
||||||
|
-DDEFAULT_IDCMAX=42
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
-DDPAD_BOARDCOMPUTER_V2
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT1=19
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT2=5
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN1=4
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN2=18
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN3=27
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN4=16
|
||||||
|
)
|
86
configs/config_gernot.cmake
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_gernot)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME gernot)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
# -DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=255
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=7
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# -DFEATURE_DPAD_5WIRESW_2OUT
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT1=18
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT2=19
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN1=4
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN2=5
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN3=27
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
include("${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
message(WARNING "Including plugins")
|
||||||
|
endif()
|
78
configs/config_greyhash.cmake
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_greyhash)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME greyhash)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
-DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
-DFEATURE_DPAD_5WIRESW_2OUT
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT1=5
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT2=4
|
||||||
|
-DPINS_DPAD_5WIRESW_IN1=27
|
||||||
|
-DPINS_DPAD_5WIRESW_IN2=19
|
||||||
|
-DPINS_DPAD_5WIRESW_IN3=18
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
include("${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
message(WARNING "Including plugins")
|
||||||
|
endif()
|
71
configs/config_mick.cmake
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_mick)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME mick)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
-DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
# -DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=7
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
-DFEATURE_DPAD_5WIRESW_2OUT
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT1=5
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT2=19
|
||||||
|
-DPINS_DPAD_5WIRESW_IN1=4
|
||||||
|
-DPINS_DPAD_5WIRESW_IN2=18
|
||||||
|
-DPINS_DPAD_5WIRESW_IN3=27
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
include("${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
message(WARNING "Including plugins")
|
||||||
|
endif()
|
81
configs/config_nofeatures.cmake
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_nofeatures)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME nofeatures)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
# -DFEATURE_ADC_IN
|
||||||
|
# -DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
# -DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
# -DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
# -DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=255
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=7
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# -DFEATURE_DPAD_5WIRESW_2OUT
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT1=18
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT2=19
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN1=4
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN2=5
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN3=27
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
86
configs/config_peter.cmake
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_peter)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME peter)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
-DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
# -DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=255
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=7
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
-DFEATURE_DPAD_5WIRESW_2OUT
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT1=18
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT2=19
|
||||||
|
-DPINS_DPAD_5WIRESW_IN1=4
|
||||||
|
-DPINS_DPAD_5WIRESW_IN2=5
|
||||||
|
-DPINS_DPAD_5WIRESW_IN3=27
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
include("${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
message(WARNING "Including plugins")
|
||||||
|
endif()
|
79
configs/config_seatbot.cmake
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
set(BOBBY_APP_NAME bobbyquad_seatbot)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME seatbot)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
-DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
-DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
-DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
-DFEATURE_DPAD_5WIRESW_2OUT
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT1=4
|
||||||
|
-DPINS_DPAD_5WIRESW_OUT2=5
|
||||||
|
-DPINS_DPAD_5WIRESW_IN1=18
|
||||||
|
-DPINS_DPAD_5WIRESW_IN2=19
|
||||||
|
-DPINS_DPAD_5WIRESW_IN3=27
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2
|
||||||
|
)
|
||||||
|
|
||||||
|
#if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
# include("${CMAKE_CURRENT_SOURCE_DIR}/ignore/lockscreen_plugin.cmake")
|
||||||
|
# message(WARNING "Including plugins")
|
||||||
|
#endif()
|
||||||
|
|
90
configs/config_testdevice.cmake
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
set(BOBBY_APP_NAME testdevice)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME testdevice)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DILI9341_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
-DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# -DFEATURE_DPAD_5WIRESW
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_EXTRASW_IN5=25
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
-DDPAD_BOARDCOMPUTER_V2
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT1=19
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT2=5
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN1=4
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN2=18
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN3=27
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN4=16
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2_DEBUG
|
||||||
|
)
|
||||||
|
|
90
configs/config_testdevice2.cmake
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
set(BOBBY_APP_NAME testdevice2)
|
||||||
|
set(BOBBY_DEFAULT_USERNAME testdevice2)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DUSER_SETUP_LOADED=1
|
||||||
|
-DLOAD_GLCD=1
|
||||||
|
-DLOAD_FONT2=1
|
||||||
|
-DLOAD_FONT4=1
|
||||||
|
-DLOAD_FONT7=1
|
||||||
|
-DST7789_DRIVER=1
|
||||||
|
-DTFT_MOSI=13
|
||||||
|
-DTFT_SCLK=15
|
||||||
|
-DTFT_CS=14
|
||||||
|
-DTFT_DC=12
|
||||||
|
-DTFT_RST=2
|
||||||
|
-DSPI_FREQUENCY=40000000
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBYCAR_BUILDFLAGS
|
||||||
|
# Pins
|
||||||
|
-DPINS_GAS=34
|
||||||
|
-DPINS_BREMS=35
|
||||||
|
# -DFEATURE_JOYSTICK
|
||||||
|
# -DPINS_RX1=4
|
||||||
|
# -DPINS_TX1=5
|
||||||
|
# -DPINS_RX2=22
|
||||||
|
# -DPINS_TX2=23
|
||||||
|
# -DPINS_MOSFET0=18
|
||||||
|
# -DPINS_MOSFET1=19
|
||||||
|
# -DPINS_MOSFET2=21
|
||||||
|
# -DPINS_GAMETRAKX=34
|
||||||
|
# -DPINS_GAMETRAKY=39
|
||||||
|
# -DPINS_GAMETRAKDIST=36
|
||||||
|
-DPINS_LEDBACKLIGHT=23
|
||||||
|
-DPINS_LEDSTRIP=33
|
||||||
|
|
||||||
|
# Config flags
|
||||||
|
-DFEATURE_ADC_IN
|
||||||
|
-DFEATURE_CAN
|
||||||
|
# -DFEATURE_SERIAL
|
||||||
|
# -DFEATURE_MOSFETS
|
||||||
|
# -DFEATURE_BLUETOOTH
|
||||||
|
# -DFEATURE_BMS
|
||||||
|
# -DFEATURE_GAMETRAK
|
||||||
|
# -DFEATURE_POWERSUPPLY
|
||||||
|
-DFEATURE_LEDBACKLIGHT
|
||||||
|
|
||||||
|
-DLEDBACKLIGHT_INVERTED
|
||||||
|
# -DLEDSTRIP_WRONG_DIRECTION
|
||||||
|
-DHEAP_LRGST_CRASH_TEXT_FIX
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
-DDEFAULT_SWAPSCREENBYTES=false
|
||||||
|
-DDEFAULT_INVERTFRONTLEFT=false
|
||||||
|
-DDEFAULT_INVERTFRONTRIGHT=true
|
||||||
|
-DDEFAULT_INVERTBACKLEFT=false
|
||||||
|
-DDEFAULT_INVERTBACKRIGHT=true
|
||||||
|
-DDEFAULT_WHEELDIAMETER=200
|
||||||
|
-DDEFAULT_IMOTMAX=28
|
||||||
|
-DDEFAULT_IDCMAX=30
|
||||||
|
-DDEFAULT_NMOTMAX=2000
|
||||||
|
-DDEFAULT_FIELDWEAKMAX=17
|
||||||
|
-DDEFAULT_FIELDADVMAX=40
|
||||||
|
|
||||||
|
# DPAD
|
||||||
|
# -DFEATURE_DPAD_5WIRESW
|
||||||
|
# -DPINS_DPAD_5WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_5WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_EXTRASW_IN5=25
|
||||||
|
# -DFEATURE_DPAD_6WIRESW
|
||||||
|
# -DPINS_DPAD_6WIRESW_OUT=4
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN1=5
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN2=27
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN3=18
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN4=19
|
||||||
|
# -DPINS_DPAD_6WIRESW_IN5=26
|
||||||
|
# -DFEATURE_GSCHISSENE_DIODE
|
||||||
|
-DDPAD_BOARDCOMPUTER_V2
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT1=19
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_OUT2=5
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN1=4
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN2=18
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN3=27
|
||||||
|
-DPINS_DPAD_BOARDCOMPUTER_V2_IN4=16
|
||||||
|
# -DDPAD_BOARDCOMPUTER_V2_DEBUG
|
||||||
|
)
|
||||||
|
|
2280
configs/sdkconfig_allfeatures
Normal file
2282
configs/sdkconfig_aveexy
Normal file
2282
configs/sdkconfig_comred
Normal file
2280
configs/sdkconfig_comred_new
Normal file
2281
configs/sdkconfig_feedc0de
Normal file
2282
configs/sdkconfig_feedc0de_new
Normal file
2280
configs/sdkconfig_gernot
Normal file
2282
configs/sdkconfig_greyhash
Normal file
2280
configs/sdkconfig_mick
Normal file
2280
configs/sdkconfig_nofeatures
Normal file
2280
configs/sdkconfig_peter
Normal file
2280
configs/sdkconfig_seatbot
Normal file
2282
configs/sdkconfig_testdevice
Normal file
2281
configs/sdkconfig_testdevice2
Normal file
15
dependencies.lock
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
dependencies:
|
||||||
|
espressif/esp-idf-cxx:
|
||||||
|
component_hash: df7921090d6601b268b99b5d54d2f53bb5ea25dbd58cc53961ef7784326621de
|
||||||
|
source:
|
||||||
|
service_url: https://api.components.espressif.com/
|
||||||
|
type: service
|
||||||
|
version: 1.0.1-beta
|
||||||
|
idf:
|
||||||
|
component_hash: null
|
||||||
|
source:
|
||||||
|
type: idf
|
||||||
|
version: 5.2.0
|
||||||
|
manifest_hash: 04b1e89bb78c4187b4d7bc0cf9461b7a3475762e58fec6f3bb49a885c56532c2
|
||||||
|
target: esp32
|
||||||
|
version: 1.0.0
|
1
esp-idf
Submodule
1
esp-protocols
Submodule
1
esp_boost
Submodule
56
export.sh
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
BOBBY_ROOT="$(dirname "$BASH_SOURCE")"
|
||||||
|
|
||||||
|
if [[ ! -f "${BOBBY_ROOT}/esp-idf/export.sh" ]]
|
||||||
|
then
|
||||||
|
echo "esp-idf is missing, please check out all needed submodules!"
|
||||||
|
echo "git submodule update --init --recursive"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
. ${BOBBY_ROOT}/esp-idf/export.sh
|
||||||
|
|
||||||
|
complete -W "$(./switchconf.sh --list)" ./switchconf.sh
|
||||||
|
complete -W "$(./switchconf.sh --list)" switchconf
|
||||||
|
|
||||||
|
BOBBY_INIT_FAILED=
|
||||||
|
|
||||||
|
if [[ -e "build" ]] && [[ ! -L "build" ]]
|
||||||
|
then
|
||||||
|
echo "ERROR: build folder exists but isnt a symlink!"
|
||||||
|
BOBBY_INIT_FAILED=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -e "sdkconfig" ]]
|
||||||
|
then
|
||||||
|
if [[ ! -L "sdkconfig" ]]
|
||||||
|
then
|
||||||
|
echo "ERROR: sdkconfig exists but isnt a symlink!"
|
||||||
|
BOBBY_INIT_FAILED=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "ERROR: sdkconfig does not exist"
|
||||||
|
BOBBY_INIT_FAILED=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -e "config.cmake" ]]
|
||||||
|
then
|
||||||
|
if [[ ! -L "config.cmake" ]]
|
||||||
|
then
|
||||||
|
echo "ERROR: config.cmake exists but isnt a symlink!"
|
||||||
|
BOBBY_INIT_FAILED=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "ERROR: config.cmake does not exist"
|
||||||
|
BOBBY_INIT_FAILED=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -z "$BOBBY_INIT_FAILED" ]]
|
||||||
|
then
|
||||||
|
echo "run ./switchconf.sh to fix all listed issues"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
export PATH=$PATH:$(pwd)/tools
|
||||||
|
alias open-ide=open_ide
|
||||||
|
alias switchconf=./switchconf.sh
|
||||||
|
alias bobby-build="idf.py build"
|
||||||
|
|
BIN
icons/alert.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
icons/back.png
Before Width: | Height: | Size: 9.5 KiB |
BIN
icons/battery.png
Normal file
After Width: | Height: | Size: 251 B |
BIN
icons/bms.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
icons/bobbycar.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 9.9 KiB |
BIN
icons/close.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
icons/git.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
icons/greenpass.png
Normal file
After Width: | Height: | Size: 409 B |
BIN
icons/hardware.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
icons/neopixel.png
Normal file
After Width: | Height: | Size: 204 B |
BIN
icons/shortcircuit.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
icons/statistics.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
icons/time.png
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7.1 KiB |
BIN
icons/update.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
ignore.tar.gz.gpg
Normal file
BIN
img/3wiresw.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
img/dpadsw.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
img/rotary.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
img/wiring.png
Normal file
After Width: | Height: | Size: 173 KiB |
@ -1,39 +0,0 @@
|
|||||||
|
|
||||||
This directory is intended for project header files.
|
|
||||||
|
|
||||||
A header file is a file containing C declarations and macro definitions
|
|
||||||
to be shared between several project source files. You request the use of a
|
|
||||||
header file in your project source file (C, C++, etc) located in `src` folder
|
|
||||||
by including it, with the C preprocessing directive `#include'.
|
|
||||||
|
|
||||||
```src/main.c
|
|
||||||
|
|
||||||
#include "header.h"
|
|
||||||
|
|
||||||
int main (void)
|
|
||||||
{
|
|
||||||
...
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Including a header file produces the same results as copying the header file
|
|
||||||
into each source file that needs it. Such copying would be time-consuming
|
|
||||||
and error-prone. With a header file, the related declarations appear
|
|
||||||
in only one place. If they need to be changed, they can be changed in one
|
|
||||||
place, and programs that include the header file will automatically use the
|
|
||||||
new version when next recompiled. The header file eliminates the labor of
|
|
||||||
finding and changing all the copies as well as the risk that a failure to
|
|
||||||
find one copy will result in inconsistencies within a program.
|
|
||||||
|
|
||||||
In C, the usual convention is to give header files names that end with `.h'.
|
|
||||||
It is most portable to use only letters, digits, dashes, and underscores in
|
|
||||||
header file names, and at most one dot.
|
|
||||||
|
|
||||||
Read more about using header files in official GCC documentation:
|
|
||||||
|
|
||||||
* Include Syntax
|
|
||||||
* Include Operation
|
|
||||||
* Once-Only Headers
|
|
||||||
* Computed Includes
|
|
||||||
|
|
||||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
|
601
main/CMakeLists.txt
Normal file
@ -0,0 +1,601 @@
|
|||||||
|
set(BOBBY_HEADERS
|
||||||
|
accessorhelpers.h
|
||||||
|
accessors/globalaccessors.h
|
||||||
|
accessors/settingsaccessors.h
|
||||||
|
accessors/wifiaccessors.h
|
||||||
|
accessors/wifiapconfigaccessors.h
|
||||||
|
accessors/wifistaconfigaccessors.h
|
||||||
|
actions/assertaction.h
|
||||||
|
actions/bluetoothbeginaction.h
|
||||||
|
actions/bluetoothbeginmasteraction.h
|
||||||
|
actions/bluetoothconnectbmsaction.h
|
||||||
|
actions/bluetoothdisconnectaction.h
|
||||||
|
actions/bluetoothendaction.h
|
||||||
|
actions/bluetoothflushaction.h
|
||||||
|
actions/bmsturnoffchargeaction.h
|
||||||
|
actions/bmsturnoffdischargeaction.h
|
||||||
|
actions/bmsturnonchargeaction.h
|
||||||
|
actions/bmsturnondischargeaction.h
|
||||||
|
actions/dividebyzeroaction.h
|
||||||
|
actions/erasenvsaction.h
|
||||||
|
actions/ledstripanimationactions.h
|
||||||
|
actions/ledstripblinkactions.h
|
||||||
|
actions/loadsettingsaction.h
|
||||||
|
actions/modesettingsaction.h
|
||||||
|
actions/qraction.h
|
||||||
|
actions/resetnvsaction.h
|
||||||
|
actions/savesettingsaction.h
|
||||||
|
actions/setupactions.h
|
||||||
|
actions/switchprofileaction.h
|
||||||
|
actions/tempomatmodeapplycurrentpeedaction.h
|
||||||
|
actions/updateswapfrontbackaction.h
|
||||||
|
actions/wifiscanaction.h
|
||||||
|
actions/wifistascanaction.h
|
||||||
|
actions/wifistascanclearaction.h
|
||||||
|
battery.h
|
||||||
|
ble_bobby.h
|
||||||
|
bletexthelpers.h
|
||||||
|
bluetooth_bobby.h
|
||||||
|
bluetoothmode.h
|
||||||
|
bluetoothtexthelpers.h
|
||||||
|
bmsutils.h
|
||||||
|
bobbyblinker.h
|
||||||
|
bobbybuttons.h
|
||||||
|
bobbycheckbox.h
|
||||||
|
bobbyerrorhandler.h
|
||||||
|
bobbyhupe.h
|
||||||
|
bobbyquickactions.h
|
||||||
|
bobbyschedulertask.h
|
||||||
|
bobbytypesafeenum.h
|
||||||
|
buildserver.h
|
||||||
|
can.h
|
||||||
|
changevaluedisplay_bluetoothmode.h
|
||||||
|
changevaluedisplay_bobbyquickactions.h
|
||||||
|
changevaluedisplay_controlmode.h
|
||||||
|
changevaluedisplay_controltype.h
|
||||||
|
changevaluedisplay_larsmmode_mode.h
|
||||||
|
changevaluedisplay_unifiedmodelmode.h
|
||||||
|
cloud.h
|
||||||
|
cloudtexthelpers.h
|
||||||
|
configutils_bobby.h
|
||||||
|
controller.h
|
||||||
|
debugcolorhelpers.h
|
||||||
|
debuginputhandler.h
|
||||||
|
debugtexthelpers.h
|
||||||
|
displays/batterygraphdisplay.h
|
||||||
|
displays/batteryinfodisplay.h
|
||||||
|
displays/bmsdisplay.h
|
||||||
|
displays/bobbychangevaluedisplay.h
|
||||||
|
displays/bobbydisplay.h
|
||||||
|
displays/bobbydisplaywithtitle.h
|
||||||
|
displays/bobbygraphdisplay.h
|
||||||
|
displays/bobbymenudisplay.h
|
||||||
|
displays/bobbypopupdisplay.h
|
||||||
|
displays/bobbysplitgraphdisplay.h
|
||||||
|
displays/calibratevoltagedisplay.h
|
||||||
|
displays/confiscationdisplay.h
|
||||||
|
displays/gameoflifedisplay.h
|
||||||
|
displays/gametrakcalibratedisplay.h
|
||||||
|
displays/joystickdebugdisplay.h
|
||||||
|
displays/ledstripcolorsdisplay.h
|
||||||
|
displays/lockscreen.h
|
||||||
|
displays/menudisplaywithtime.cpp
|
||||||
|
displays/menudisplaywithtime.h
|
||||||
|
displays/menus/aboutmenu.h
|
||||||
|
displays/menus/batterydebugmenu.h
|
||||||
|
displays/menus/batterymenu.h
|
||||||
|
displays/menus/blesettingsmenu.h
|
||||||
|
displays/menus/bluetoothsettingsmenu.h
|
||||||
|
displays/menus/bmsmenu.h
|
||||||
|
displays/menus/boardcomputerhardwaresettingsmenu.h
|
||||||
|
displays/menus/buzzermenu.h
|
||||||
|
displays/menus/candebugmenu.h
|
||||||
|
displays/menus/cloudsettingsmenu.h
|
||||||
|
displays/menus/commanddebugmenu.h
|
||||||
|
displays/menus/controllerhardwaresettingsmenu.h
|
||||||
|
displays/menus/crashmenu.h
|
||||||
|
displays/menus/debugmenu.h
|
||||||
|
displays/menus/defaultmodesettingsmenu.h
|
||||||
|
displays/menus/demosmenu.h
|
||||||
|
displays/menus/dynamicdebugmenu.h
|
||||||
|
displays/menus/enablemenu.h
|
||||||
|
displays/menus/espnowmenu.h
|
||||||
|
displays/menus/espnowsettingsmenu.h
|
||||||
|
displays/menus/extrabuttoncalibratemenu.h
|
||||||
|
displays/menus/featureflagsmenu.h
|
||||||
|
displays/menus/feedbackdebugmenu.h
|
||||||
|
displays/menus/gametrakmodesettingsmenu.h
|
||||||
|
displays/menus/garagemenu.h
|
||||||
|
displays/menus/gitmenu.h
|
||||||
|
displays/menus/graphsmenu.h
|
||||||
|
displays/menus/greenpassmenu.h
|
||||||
|
displays/menus/handbremssettingsmenu.h
|
||||||
|
displays/menus/invertmenu.h
|
||||||
|
displays/menus/larsmmodesettingsmenu.h
|
||||||
|
displays/menus/ledstripmenu.h
|
||||||
|
displays/menus/ledstripselectblinkmenu.h
|
||||||
|
displays/menus/ledstripselectotamode.h
|
||||||
|
displays/menus/limitssettingsmenu.h
|
||||||
|
displays/menus/lockscreensettingsmenu.h
|
||||||
|
displays/menus/mainmenu.h
|
||||||
|
displays/menus/manageprofilesmenu.h
|
||||||
|
displays/menus/mickmodesettingsmenu.h
|
||||||
|
displays/menus/modessettingsmenu.h
|
||||||
|
displays/menus/mosfetsmenu.h
|
||||||
|
displays/menus/motorfeedbackdebugmenu.h
|
||||||
|
displays/menus/motorstatedebugmenu.h
|
||||||
|
displays/menus/motortestmodesettingsmenu.h
|
||||||
|
displays/menus/networksettingsmenu.h
|
||||||
|
displays/menus/otamenu.h
|
||||||
|
displays/menus/profilesmenu.h
|
||||||
|
displays/menus/recoverymenu.h
|
||||||
|
displays/menus/remotecontrolmodesettingsmenu.h
|
||||||
|
displays/menus/selectbuildserverbranch.h
|
||||||
|
displays/menus/selectbuildservermenu.h
|
||||||
|
displays/menus/selectmodemenu.h
|
||||||
|
displays/menus/selectotabuildmenu.h
|
||||||
|
displays/menus/settingsmenu.h
|
||||||
|
displays/menus/setupquickactionsmenu.h
|
||||||
|
displays/menus/statisticsmenu.h
|
||||||
|
displays/menus/taskmanagermenu.h
|
||||||
|
displays/menus/tempomatmodesettingsmenu.h
|
||||||
|
displays/menus/timersmenu.h
|
||||||
|
displays/menus/timesettingsmenu.h
|
||||||
|
displays/menus/typesafeenumchangemenu.h
|
||||||
|
displays/menus/udpcloudsettingsmenu.h
|
||||||
|
displays/menus/wifiapclientsmenu.h
|
||||||
|
displays/menus/wifiapsettingsmenu.h
|
||||||
|
displays/menus/wifistaconfigentrymenu.h
|
||||||
|
displays/menus/wifistaconfigsmenu.h
|
||||||
|
displays/menus/wifistascanentrymenu.h
|
||||||
|
displays/menus/wifistascanmenu.h
|
||||||
|
displays/menus/wifistasettingsmenu.h
|
||||||
|
displays/metersdisplay.h
|
||||||
|
displays/pingpongdisplay.h
|
||||||
|
displays/potiscalibratedisplay.h
|
||||||
|
displays/poweroffdisplay.h
|
||||||
|
displays/powersupplydisplay.h
|
||||||
|
displays/qrcodedebug.h
|
||||||
|
displays/qrdisplay.h
|
||||||
|
displays/qrimportdisplay.h
|
||||||
|
displays/rebootscreen.h
|
||||||
|
displays/setup/ask_calibrate_other_buttons.h
|
||||||
|
displays/setup/ask_setup_clouds.h
|
||||||
|
displays/setup/basic_buttons.h
|
||||||
|
displays/setup/calibrate_potis.h
|
||||||
|
displays/setup/final_information.h
|
||||||
|
displays/setup/information.h
|
||||||
|
displays/setup/setup_cloud.h
|
||||||
|
displays/speedinfodisplay.h
|
||||||
|
displays/spirodisplay.h
|
||||||
|
displays/starfielddisplay.h
|
||||||
|
displays/statusdisplay.h
|
||||||
|
displays/updatedisplay.h
|
||||||
|
displays/xydebugdisplay.h
|
||||||
|
dnsannounce.h
|
||||||
|
dpad.h
|
||||||
|
dpad3wire.h
|
||||||
|
dpad5wire.h
|
||||||
|
dpad5wire_2out.h
|
||||||
|
dpad6wire.h
|
||||||
|
dpad_boardcomputer_v2.h
|
||||||
|
drivingstatistics.h
|
||||||
|
espnowfunctions.h
|
||||||
|
esptexthelpers.h
|
||||||
|
feedbackemulator.h
|
||||||
|
feedbackparser.h
|
||||||
|
globals.h
|
||||||
|
handbremse.h
|
||||||
|
icons/alert.h
|
||||||
|
icons/battery.h
|
||||||
|
icons/bluetooth.h
|
||||||
|
icons/bms.h
|
||||||
|
icons/bobbycar.h
|
||||||
|
icons/buzzer.h
|
||||||
|
icons/close.h
|
||||||
|
icons/demos.h
|
||||||
|
icons/git.h
|
||||||
|
icons/graph.h
|
||||||
|
icons/greenpass.h
|
||||||
|
icons/hardware.h
|
||||||
|
icons/info.h
|
||||||
|
icons/lock.h
|
||||||
|
icons/logo.h
|
||||||
|
icons/modes.h
|
||||||
|
icons/neopixel.h
|
||||||
|
icons/poweroff.h
|
||||||
|
icons/presets.h
|
||||||
|
icons/reboot.h
|
||||||
|
icons/scan.h
|
||||||
|
icons/settings.h
|
||||||
|
icons/shortcircuit.h
|
||||||
|
icons/statistics.h
|
||||||
|
icons/time.h
|
||||||
|
icons/update.h
|
||||||
|
icons/wifi.h
|
||||||
|
ledstrip.h
|
||||||
|
ledstripdefines.h
|
||||||
|
macros_bobbycar.h
|
||||||
|
modeinterface.h
|
||||||
|
modes.h
|
||||||
|
modes/defaultmode.h
|
||||||
|
modes/gametrakmode.h
|
||||||
|
modes/ignoreinputmode.h
|
||||||
|
modes/larsmmode.h
|
||||||
|
modes/mickmode.h
|
||||||
|
modes/motortestmode.h
|
||||||
|
modes/remotecontrolmode.h
|
||||||
|
modes/tempomatmode.h
|
||||||
|
modes/wheelchairmode.h
|
||||||
|
mosfets.h
|
||||||
|
motorpwmlimiter.h
|
||||||
|
newsettings.h
|
||||||
|
ota.h
|
||||||
|
potis.h
|
||||||
|
presets.h
|
||||||
|
profilesettings.h
|
||||||
|
qrimport.h
|
||||||
|
rotary.h
|
||||||
|
screens.h
|
||||||
|
serial_bobby.h
|
||||||
|
settingspersister.h
|
||||||
|
settingsutils.h
|
||||||
|
setup.h
|
||||||
|
softpwmlimiter.h
|
||||||
|
statistics.h
|
||||||
|
statustexthelper.h
|
||||||
|
taskmanager.h
|
||||||
|
tempomat.h
|
||||||
|
texthelpers/networktexthelpers.h
|
||||||
|
texthelpers/wifiaptexthelpers.h
|
||||||
|
texthelpers/wifistatexthelpers.h
|
||||||
|
time_bobbycar.h
|
||||||
|
types.h
|
||||||
|
typeutils.h
|
||||||
|
udpcloud.h
|
||||||
|
unifiedmodelmode.h
|
||||||
|
utils.h
|
||||||
|
webserver.h
|
||||||
|
webserver_displaycontrol.h
|
||||||
|
webserver_dumpnvs.h
|
||||||
|
webserver_lock.h
|
||||||
|
webserver_newsettings.h
|
||||||
|
webserver_ota.h
|
||||||
|
webserver_settings.h
|
||||||
|
widgets/doubleprogressbar.h
|
||||||
|
wifi_bobbycar.h
|
||||||
|
wifiguiutils.h
|
||||||
|
)
|
||||||
|
|
||||||
|
set(BOBBY_SOURCES
|
||||||
|
accessors/wifistaconfigaccessors.cpp
|
||||||
|
actions/assertaction.cpp
|
||||||
|
actions/bluetoothbeginaction.cpp
|
||||||
|
actions/bluetoothbeginmasteraction.cpp
|
||||||
|
actions/bluetoothconnectbmsaction.cpp
|
||||||
|
actions/bluetoothdisconnectaction.cpp
|
||||||
|
actions/bluetoothendaction.cpp
|
||||||
|
actions/bluetoothflushaction.cpp
|
||||||
|
actions/bmsturnoffchargeaction.cpp
|
||||||
|
actions/bmsturnoffdischargeaction.cpp
|
||||||
|
actions/bmsturnonchargeaction.cpp
|
||||||
|
actions/bmsturnondischargeaction.cpp
|
||||||
|
actions/dividebyzeroaction.cpp
|
||||||
|
actions/erasenvsaction.cpp
|
||||||
|
actions/ledstripanimationactions.cpp
|
||||||
|
actions/ledstripblinkactions.cpp
|
||||||
|
actions/loadsettingsaction.cpp
|
||||||
|
actions/modesettingsaction.cpp
|
||||||
|
actions/qraction.cpp
|
||||||
|
actions/resetnvsaction.cpp
|
||||||
|
actions/savesettingsaction.cpp
|
||||||
|
actions/setupactions.cpp
|
||||||
|
actions/switchprofileaction.cpp
|
||||||
|
actions/tempomatmodeapplycurrentpeedaction.cpp
|
||||||
|
actions/updateswapfrontbackaction.cpp
|
||||||
|
actions/wifiscanaction.cpp
|
||||||
|
actions/wifistascanaction.cpp
|
||||||
|
actions/wifistascanclearaction.cpp
|
||||||
|
battery.cpp
|
||||||
|
ble_bobby.cpp
|
||||||
|
bletexthelpers.cpp
|
||||||
|
bluetooth_bobby.cpp
|
||||||
|
bluetoothmode.cpp
|
||||||
|
bluetoothtexthelpers.cpp
|
||||||
|
bmsutils.cpp
|
||||||
|
bobbyblinker.cpp
|
||||||
|
bobbybuttons.cpp
|
||||||
|
bobbyerrorhandler.cpp
|
||||||
|
bobbyhupe.cpp
|
||||||
|
bobbyquickactions.cpp
|
||||||
|
buildserver.cpp
|
||||||
|
can.cpp
|
||||||
|
changevaluedisplay_bluetoothmode.cpp
|
||||||
|
changevaluedisplay_bobbyquickactions.cpp
|
||||||
|
changevaluedisplay_controlmode.cpp
|
||||||
|
changevaluedisplay_controltype.cpp
|
||||||
|
changevaluedisplay_larsmmode_mode.cpp
|
||||||
|
changevaluedisplay_unifiedmodelmode.cpp
|
||||||
|
cloud.cpp
|
||||||
|
cloudtexthelpers.cpp
|
||||||
|
configwrapper_bobby.cpp
|
||||||
|
controller.cpp
|
||||||
|
debugcolorhelpers.cpp
|
||||||
|
debuginputhandler.cpp
|
||||||
|
debugtexthelpers.cpp
|
||||||
|
displays/batterygraphdisplay.cpp
|
||||||
|
displays/batteryinfodisplay.cpp
|
||||||
|
displays/bmsdisplay.cpp
|
||||||
|
displays/bobbychangevaluedisplay.cpp
|
||||||
|
displays/bobbydisplay.cpp
|
||||||
|
displays/bobbydisplaywithtitle.cpp
|
||||||
|
displays/bobbygraphdisplay.cpp
|
||||||
|
displays/bobbymenudisplay.cpp
|
||||||
|
displays/bobbypopupdisplay.cpp
|
||||||
|
displays/bobbysplitgraphdisplay.cpp
|
||||||
|
displays/calibratevoltagedisplay.cpp
|
||||||
|
displays/confiscationdisplay.cpp
|
||||||
|
displays/gameoflifedisplay.cpp
|
||||||
|
displays/gametrakcalibratedisplay.cpp
|
||||||
|
displays/joystickdebugdisplay.cpp
|
||||||
|
displays/ledstripcolorsdisplay.cpp
|
||||||
|
displays/lockscreen.cpp
|
||||||
|
displays/menus/aboutmenu.cpp
|
||||||
|
displays/menus/batterydebugmenu.cpp
|
||||||
|
displays/menus/batterymenu.cpp
|
||||||
|
displays/menus/blesettingsmenu.cpp
|
||||||
|
displays/menus/bluetoothsettingsmenu.cpp
|
||||||
|
displays/menus/bmsmenu.cpp
|
||||||
|
displays/menus/boardcomputerhardwaresettingsmenu.cpp
|
||||||
|
displays/menus/buzzermenu.cpp
|
||||||
|
displays/menus/candebugmenu.cpp
|
||||||
|
displays/menus/cloudsettingsmenu.cpp
|
||||||
|
displays/menus/commanddebugmenu.cpp
|
||||||
|
displays/menus/controllerhardwaresettingsmenu.cpp
|
||||||
|
displays/menus/crashmenu.cpp
|
||||||
|
displays/menus/debugmenu.cpp
|
||||||
|
displays/menus/defaultmodesettingsmenu.cpp
|
||||||
|
displays/menus/demosmenu.cpp
|
||||||
|
displays/menus/dynamicdebugmenu.cpp
|
||||||
|
displays/menus/enablemenu.cpp
|
||||||
|
displays/menus/espnowmenu.cpp
|
||||||
|
displays/menus/espnowsettingsmenu.cpp
|
||||||
|
displays/menus/extrabuttoncalibratemenu.cpp
|
||||||
|
displays/menus/featureflagsmenu.cpp
|
||||||
|
displays/menus/feedbackdebugmenu.cpp
|
||||||
|
displays/menus/gametrakmodesettingsmenu.cpp
|
||||||
|
displays/menus/garagemenu.cpp
|
||||||
|
displays/menus/gitmenu.cpp
|
||||||
|
displays/menus/graphsmenu.cpp
|
||||||
|
displays/menus/greenpassmenu.cpp
|
||||||
|
displays/menus/handbremssettingsmenu.cpp
|
||||||
|
displays/menus/invertmenu.cpp
|
||||||
|
displays/menus/larsmmodesettingsmenu.cpp
|
||||||
|
displays/menus/ledstripmenu.cpp
|
||||||
|
displays/menus/ledstripselectblinkmenu.cpp
|
||||||
|
displays/menus/ledstripselectotamode.cpp
|
||||||
|
displays/menus/limitssettingsmenu.cpp
|
||||||
|
displays/menus/lockscreensettingsmenu.cpp
|
||||||
|
displays/menus/mainmenu.cpp
|
||||||
|
displays/menus/manageprofilesmenu.cpp
|
||||||
|
displays/menus/mickmodesettingsmenu.cpp
|
||||||
|
displays/menus/modessettingsmenu.cpp
|
||||||
|
displays/menus/mosfetsmenu.cpp
|
||||||
|
displays/menus/motorfeedbackdebugmenu.cpp
|
||||||
|
displays/menus/motorstatedebugmenu.cpp
|
||||||
|
displays/menus/motortestmodesettingsmenu.cpp
|
||||||
|
displays/menus/networksettingsmenu.cpp
|
||||||
|
displays/menus/otamenu.cpp
|
||||||
|
displays/menus/profilesmenu.cpp
|
||||||
|
displays/menus/recoverymenu.cpp
|
||||||
|
displays/menus/remotecontrolmodesettingsmenu.cpp
|
||||||
|
displays/menus/selectbuildserverbranch.cpp
|
||||||
|
displays/menus/selectbuildservermenu.cpp
|
||||||
|
displays/menus/selectmodemenu.cpp
|
||||||
|
displays/menus/selectotabuildmenu.cpp
|
||||||
|
displays/menus/settingsmenu.cpp
|
||||||
|
displays/menus/setupquickactionsmenu.cpp
|
||||||
|
displays/menus/statisticsmenu.cpp
|
||||||
|
displays/menus/taskmanagermenu.cpp
|
||||||
|
displays/menus/tempomatmodesettingsmenu.cpp
|
||||||
|
displays/menus/timersmenu.cpp
|
||||||
|
displays/menus/timesettingsmenu.cpp
|
||||||
|
displays/menus/typesafeenumchangemenu.cpp
|
||||||
|
displays/menus/udpcloudsettingsmenu.cpp
|
||||||
|
displays/menus/wifiapclientsmenu.cpp
|
||||||
|
displays/menus/wifiapsettingsmenu.cpp
|
||||||
|
displays/menus/wifistaconfigentrymenu.cpp
|
||||||
|
displays/menus/wifistaconfigsmenu.cpp
|
||||||
|
displays/menus/wifistascanentrymenu.cpp
|
||||||
|
displays/menus/wifistascanmenu.cpp
|
||||||
|
displays/menus/wifistasettingsmenu.cpp
|
||||||
|
displays/metersdisplay.cpp
|
||||||
|
displays/pingpongdisplay.cpp
|
||||||
|
displays/potiscalibratedisplay.cpp
|
||||||
|
displays/poweroffdisplay.cpp
|
||||||
|
displays/powersupplydisplay.cpp
|
||||||
|
displays/qrcodedebug.cpp
|
||||||
|
displays/qrdisplay.cpp
|
||||||
|
displays/qrimportdisplay.cpp
|
||||||
|
displays/rebootscreen.cpp
|
||||||
|
displays/setup/ask_calibrate_other_buttons.cpp
|
||||||
|
displays/setup/ask_setup_clouds.cpp
|
||||||
|
displays/setup/basic_buttons.cpp
|
||||||
|
displays/setup/calibrate_potis.cpp
|
||||||
|
displays/setup/final_information.cpp
|
||||||
|
displays/setup/information.cpp
|
||||||
|
displays/setup/setup_cloud.cpp
|
||||||
|
displays/speedinfodisplay.cpp
|
||||||
|
displays/spirodisplay.cpp
|
||||||
|
displays/starfielddisplay.cpp
|
||||||
|
displays/statusdisplay.cpp
|
||||||
|
displays/updatedisplay.cpp
|
||||||
|
displays/xydebugdisplay.cpp
|
||||||
|
dnsannounce.cpp
|
||||||
|
dpad.cpp
|
||||||
|
dpad3wire.cpp
|
||||||
|
dpad5wire.cpp
|
||||||
|
dpad5wire_2out.cpp
|
||||||
|
dpad6wire.cpp
|
||||||
|
dpad_boardcomputer_v2.cpp
|
||||||
|
drivingstatistics.cpp
|
||||||
|
espnowfunctions.cpp
|
||||||
|
esptexthelpers.cpp
|
||||||
|
feedbackemulator.cpp
|
||||||
|
feedbackparser.cpp
|
||||||
|
globals.cpp
|
||||||
|
handbremse.cpp
|
||||||
|
icons/alert.cpp
|
||||||
|
icons/battery.cpp
|
||||||
|
icons/bluetooth.cpp
|
||||||
|
icons/bms.cpp
|
||||||
|
icons/bobbycar.cpp
|
||||||
|
icons/buzzer.cpp
|
||||||
|
icons/close.cpp
|
||||||
|
icons/demos.cpp
|
||||||
|
icons/git.cpp
|
||||||
|
icons/graph.cpp
|
||||||
|
icons/greenpass.cpp
|
||||||
|
icons/hardware.cpp
|
||||||
|
icons/info.cpp
|
||||||
|
icons/lock.cpp
|
||||||
|
icons/logo.cpp
|
||||||
|
icons/modes.cpp
|
||||||
|
icons/neopixel.cpp
|
||||||
|
icons/poweroff.cpp
|
||||||
|
icons/presets.cpp
|
||||||
|
icons/reboot.cpp
|
||||||
|
icons/scan.cpp
|
||||||
|
icons/settings.cpp
|
||||||
|
icons/shortcircuit.cpp
|
||||||
|
icons/statistics.cpp
|
||||||
|
icons/time.cpp
|
||||||
|
icons/update.cpp
|
||||||
|
icons/wifi.cpp
|
||||||
|
ledstrip.cpp
|
||||||
|
ledstripdefines.cpp
|
||||||
|
macros_bobbycar.cpp
|
||||||
|
main.cpp
|
||||||
|
modeinterface.cpp
|
||||||
|
modes.cpp
|
||||||
|
modes/defaultmode.cpp
|
||||||
|
modes/gametrakmode.cpp
|
||||||
|
modes/ignoreinputmode.cpp
|
||||||
|
modes/larsmmode.cpp
|
||||||
|
modes/mickmode.cpp
|
||||||
|
modes/motortestmode.cpp
|
||||||
|
modes/remotecontrolmode.cpp
|
||||||
|
modes/tempomatmode.cpp
|
||||||
|
modes/wheelchairmode.cpp
|
||||||
|
mosfets.cpp
|
||||||
|
motorpwmlimiter.cpp
|
||||||
|
newsettings.cpp
|
||||||
|
ota.cpp
|
||||||
|
potis.cpp
|
||||||
|
presets.cpp
|
||||||
|
profilesettings.cpp
|
||||||
|
qrimport.cpp
|
||||||
|
rotary.cpp
|
||||||
|
screens.cpp
|
||||||
|
serial_bobby.cpp
|
||||||
|
settingspersister.cpp
|
||||||
|
settingsutils.cpp
|
||||||
|
setup.cpp
|
||||||
|
softpwmlimiter.cpp
|
||||||
|
statistics.cpp
|
||||||
|
statustexthelper.cpp
|
||||||
|
taskmanager.cpp
|
||||||
|
tempomat.cpp
|
||||||
|
texthelpers/networktexthelpers.cpp
|
||||||
|
texthelpers/wifiaptexthelpers.cpp
|
||||||
|
texthelpers/wifistatexthelpers.cpp
|
||||||
|
time_bobbycar.cpp
|
||||||
|
types.cpp
|
||||||
|
udpcloud.cpp
|
||||||
|
unifiedmodelmode.cpp
|
||||||
|
utils.cpp
|
||||||
|
webserver.cpp
|
||||||
|
webserver_displaycontrol.cpp
|
||||||
|
webserver_dumpnvs.cpp
|
||||||
|
webserver_lock.cpp
|
||||||
|
webserver_newsettings.cpp
|
||||||
|
webserver_ota.cpp
|
||||||
|
webserver_settings.cpp
|
||||||
|
widgets/doubleprogressbar.cpp
|
||||||
|
wifi_bobbycar.cpp
|
||||||
|
wifiguiutils.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(dependencies
|
||||||
|
freertos nvs_flash esp_http_server esp_https_ota mdns app_update esp_system esp_websocket_client driver esp_adc
|
||||||
|
arduino-esp32 ArduinoJson esp-nimble-cpp FastLED-idf TFT_eSPI QRCode-esp32
|
||||||
|
bobbycar-protocol cpputils cxx-ring-buffer date sunset
|
||||||
|
espasynchttpreq espasyncota espchrono espcpputils espconfiglib esp-gui-lib esphttpdutils espwifistack fmt
|
||||||
|
)
|
||||||
|
|
||||||
|
idf_component_register(
|
||||||
|
SRCS
|
||||||
|
${BOBBY_HEADERS}
|
||||||
|
${BOBBY_SOURCES}
|
||||||
|
INCLUDE_DIRS
|
||||||
|
.
|
||||||
|
REQUIRES
|
||||||
|
${dependencies}
|
||||||
|
)
|
||||||
|
|
||||||
|
execute_process(COMMAND git rev-parse HEAD
|
||||||
|
OUTPUT_VARIABLE GIT_REV ERROR_QUIET
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git log -1 --pretty=%B
|
||||||
|
OUTPUT_VARIABLE GIT_MESSAGE ERROR_QUIET
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git rev-parse --abbrev-ref HEAD
|
||||||
|
OUTPUT_VARIABLE GIT_BRANCH
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git status --short
|
||||||
|
OUTPUT_VARIABLE GIT_STATUS
|
||||||
|
)
|
||||||
|
|
||||||
|
if (NOT GIT_STATUS STREQUAL "")
|
||||||
|
set(GIT_STATUS "dirty")
|
||||||
|
else()
|
||||||
|
set(GIT_STATUS "clean")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
string(STRIP "${GIT_REV}" GIT_REV)
|
||||||
|
string(SUBSTRING "${GIT_REV}" 1 7 GIT_SHORT_REV)
|
||||||
|
string(STRIP "${GIT_MESSAGE}" GIT_MESSAGE)
|
||||||
|
string(REPLACE "\n" " " GIT_MESSAGE "${GIT_MESSAGE}")
|
||||||
|
string(REPLACE "\"" "\\\"" GIT_MESSAGE "${GIT_MESSAGE}")
|
||||||
|
string(SUBSTRING "${GIT_MESSAGE}" 0 100 GIT_MESSAGE)
|
||||||
|
string(STRIP "${GIT_BRANCH}" GIT_BRANCH)
|
||||||
|
|
||||||
|
message(WARNING "Git revision: ${GIT_REV}")
|
||||||
|
message(WARNING "Git short revision: ${GIT_SHORT_REV}")
|
||||||
|
message(WARNING "Git message: ${GIT_MESSAGE}")
|
||||||
|
message(WARNING "Git branch: ${GIT_BRANCH}")
|
||||||
|
message(WARNING "Git status: ${GIT_STATUS}")
|
||||||
|
|
||||||
|
if(NOT DEFINED BOBBY_DEFAULT_USERNAME)
|
||||||
|
message(FATAL_ERROR "Please define BOBBY_DEFAULT_USERNAME")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_compile_options(${COMPONENT_TARGET}
|
||||||
|
PRIVATE
|
||||||
|
-fstack-reuse=all
|
||||||
|
-fstack-protector-all
|
||||||
|
-fdiagnostics-color=always
|
||||||
|
-Wno-unused-function
|
||||||
|
-Wno-deprecated-declarations
|
||||||
|
-Wno-missing-field-initializers
|
||||||
|
-Wno-parentheses
|
||||||
|
-DGIT_REV="${GIT_REV}"
|
||||||
|
-DGIT_SHORT_REV="${GIT_SHORT_REV}"
|
||||||
|
-DGIT_MESSAGE="${GIT_MESSAGE}"
|
||||||
|
-DGIT_BRANCH="${GIT_BRANCH}"
|
||||||
|
-DBOBBY_DEFAULT_USERNAME="${BOBBY_DEFAULT_USERNAME}"
|
||||||
|
${BOBBYCAR_BUILDFLAGS}
|
||||||
|
)
|
78
main/accessorhelpers.h
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// system includes
|
||||||
|
#include <cstdint>
|
||||||
|
#include <expected>
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <accessorinterface.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "utils.h"
|
||||||
|
#include "newsettings.h"
|
||||||
|
|
||||||
|
//! Special type of RefAccessor that also saves settings after setValue()
|
||||||
|
template<typename T>
|
||||||
|
struct RefAccessorSaveSettings : public virtual espgui::RefAccessor<T>
|
||||||
|
{
|
||||||
|
typename espgui::AccessorInterface<T>::setter_result_t setValue(T value) override
|
||||||
|
{
|
||||||
|
espgui::RefAccessor<T>::setValue(value);
|
||||||
|
|
||||||
|
if (!saveProfileSettings())
|
||||||
|
return std::unexpected("saveProfileSettings() failed!");
|
||||||
|
|
||||||
|
return {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
struct NewSettingsAccessor : public virtual espgui::AccessorInterface<T>
|
||||||
|
{
|
||||||
|
virtual ConfigWrapper<T>& getConfig() const = 0;
|
||||||
|
|
||||||
|
T getValue() const override
|
||||||
|
{
|
||||||
|
return getConfig().value();
|
||||||
|
}
|
||||||
|
|
||||||
|
typename espgui::AccessorInterface<T>::setter_result_t setValue(T value) override
|
||||||
|
{
|
||||||
|
return configs.write_config(getConfig(), value);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
struct NewSettingsChronoAdaptorAccessor;
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct NewSettingsChronoAdaptorAccessor<espchrono::minutes32> : public virtual espgui::AccessorInterface<int32_t>
|
||||||
|
{
|
||||||
|
virtual ConfigWrapper<espchrono::minutes32>& getConfig() const = 0;
|
||||||
|
|
||||||
|
int32_t getValue() const override
|
||||||
|
{
|
||||||
|
return getConfig().value().count();
|
||||||
|
}
|
||||||
|
|
||||||
|
typename espgui::AccessorInterface<int32_t>::setter_result_t setValue(int32_t value) override
|
||||||
|
{
|
||||||
|
return configs.write_config(getConfig(), espchrono::minutes32{value});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct NewSettingsChronoAdaptorAccessor<espchrono::milliseconds32> : public virtual espgui::AccessorInterface<int32_t>
|
||||||
|
{
|
||||||
|
virtual ConfigWrapper<espchrono::milliseconds32>& getConfig() const = 0;
|
||||||
|
|
||||||
|
int32_t getValue() const override
|
||||||
|
{
|
||||||
|
return getConfig().value().count();
|
||||||
|
}
|
||||||
|
|
||||||
|
typename espgui::AccessorInterface<int32_t>::setter_result_t setValue(int32_t value) override
|
||||||
|
{
|
||||||
|
return configs.write_config(getConfig(), espchrono::milliseconds32{value});
|
||||||
|
}
|
||||||
|
};
|
12
main/accessors/globalaccessors.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "accessorinterface.h"
|
||||||
|
#include "globals.h"
|
||||||
|
#include "modes/tempomatmode.h"
|
||||||
|
|
||||||
|
struct AvgSpeedAccessor : public espgui::RefAccessor<float> { float &getRef() const override { return avgSpeed; } };
|
||||||
|
struct AvgSpeedKmhAccessor : public espgui::RefAccessor<float> { float &getRef() const override { return avgSpeedKmh; } };
|
||||||
|
struct SumCurrentAccessor : public espgui::RefAccessor<float> { float &getRef() const override { return sumCurrent; } };
|
||||||
|
|
||||||
|
struct TempomatModeCruiseMotTgtAccessor : public espgui::RefAccessor<int16_t> { int16_t &getRef() const override { return modes::tempomatMode.nCruiseMotTgt; } };
|
279
main/accessors/settingsaccessors.h
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// system includes
|
||||||
|
#include <expected>
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <accessorinterface.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "globals.h"
|
||||||
|
#include "utils.h"
|
||||||
|
#include "accessorhelpers.h"
|
||||||
|
#include "newsettings.h"
|
||||||
|
|
||||||
|
// Bluetooth
|
||||||
|
struct BluetoothNameAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.bluetoothName; } };
|
||||||
|
|
||||||
|
// Buzzer
|
||||||
|
struct ReverseBeepAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.reverseBeep; } };
|
||||||
|
struct ReverseBeepFreq0Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.reverseBeepFreq0; } };
|
||||||
|
struct ReverseBeepFreq1Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.reverseBeepFreq1; } };
|
||||||
|
struct ReverseBeepDuration0Accessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.reverseBeepDuration0; } };
|
||||||
|
struct ReverseBeepDuration1Accessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.reverseBeepDuration1; } };
|
||||||
|
|
||||||
|
// Limits
|
||||||
|
struct IMotMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.limits.iMotMax; } };
|
||||||
|
struct IDcMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.limits.iDcMax; } };
|
||||||
|
struct NMotMaxKmhAccessor : public virtual espgui::AccessorInterface<int16_t>
|
||||||
|
{
|
||||||
|
int16_t getValue() const override { return convertToKmh(profileSettings.limits.nMotMax); }
|
||||||
|
espgui::AccessorInterface<int16_t>::setter_result_t setValue(int16_t value) override
|
||||||
|
{
|
||||||
|
profileSettings.limits.nMotMax = convertFromKmh(value);
|
||||||
|
if (!saveProfileSettings())
|
||||||
|
return std::unexpected("saveProfileSettings() failed!");
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
struct NMotMaxRpmAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.limits.nMotMax; } };
|
||||||
|
struct FieldWeakMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.limits.fieldWeakMax; } };
|
||||||
|
struct PhaseAdvMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.limits.phaseAdvMax; } };
|
||||||
|
|
||||||
|
// Bluetooth Low Energy
|
||||||
|
struct BleEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.bleSettings.bleEnabled; } };
|
||||||
|
struct BleFenceEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.bleSettings.bleFenceEnabled; } };
|
||||||
|
|
||||||
|
// Cloud
|
||||||
|
struct CloudEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.cloudSettings.cloudEnabled; } };
|
||||||
|
struct CloudTransmitTimeoutAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.cloudSettings.cloudTransmitTimeout; } };
|
||||||
|
struct CloudSendStatisticsAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.cloudSettings.sendStatistic; } };
|
||||||
|
struct CloudURLAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.cloudUrl; } };
|
||||||
|
struct CloudKeyAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.cloudSettings.cloudKey; } };
|
||||||
|
|
||||||
|
// Time
|
||||||
|
//struct TimezoneOffsetAccessor : public NewSettingsAccessor<int32_t> { ConfigWrapper<int32_t> &getConfig() const override { return configs.timezoneOffset; } };
|
||||||
|
struct TimezoneOffsetAccessor : public NewSettingsChronoAdaptorAccessor<espchrono::minutes32> { ConfigWrapper<espchrono::minutes32> &getConfig() const override { return configs.timezoneOffset; } };
|
||||||
|
struct DaylightSavingModeAccessor : public NewSettingsAccessor<espchrono::DayLightSavingMode> { ConfigWrapper<espchrono::DayLightSavingMode> &getConfig() const override { return configs.timeDst; } };
|
||||||
|
struct TimeServerEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.timeServerEnabled; } };
|
||||||
|
struct TimeServerAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.timeServer; } };
|
||||||
|
struct TimeSyncModeAccessor : public NewSettingsAccessor<sntp_sync_mode_t> { ConfigWrapper<sntp_sync_mode_t> &getConfig() const override { return configs.timeSyncMode; } };
|
||||||
|
//struct TimeSyncIntervalAccessor : public NewSettingsAccessor<int32_t> { ConfigWrapper<int32_t> &getConfig() const override { return configs.timeSyncInterval; } };
|
||||||
|
struct TimeSyncIntervalAccessor : public NewSettingsChronoAdaptorAccessor<espchrono::milliseconds32> { ConfigWrapper<espchrono::milliseconds32> &getConfig() const override { return configs.timeSyncInterval; } };
|
||||||
|
|
||||||
|
// Controller Hardware
|
||||||
|
struct FrontLeftEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.controllerHardware.enableFrontLeft; } };
|
||||||
|
struct FrontRightEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.controllerHardware.enableFrontRight; } };
|
||||||
|
struct BackLeftEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.controllerHardware.enableBackLeft; } };
|
||||||
|
struct BackRightEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.controllerHardware.enableBackRight; } };
|
||||||
|
|
||||||
|
struct FrontLeftInvertedAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.controllerHardware.invertFrontLeft; } };
|
||||||
|
struct FrontRightInvertedAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.controllerHardware.invertFrontRight; } };
|
||||||
|
struct BackLeftInvertedAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.controllerHardware.invertBackLeft; } };
|
||||||
|
struct BackRightInvertedAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.controllerHardware.invertBackRight; } };
|
||||||
|
|
||||||
|
struct WheelDiameterMmAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.controllerHardware.wheelDiameter; } };
|
||||||
|
struct WheelDiameterInchAccessor : public virtual espgui::AccessorInterface<float>
|
||||||
|
{
|
||||||
|
float getValue() const override { return convertToInch(configs.controllerHardware.wheelDiameter.value()); }
|
||||||
|
espgui::AccessorInterface<int16_t>::setter_result_t setValue(float value) override
|
||||||
|
{
|
||||||
|
// profileSettings.controllerHardware.wheelDiameter = convertFromInch(value);
|
||||||
|
// if (!saveProfileSettings())
|
||||||
|
// return std::unexpected("saveProfileSettings() failed!");
|
||||||
|
// return {};
|
||||||
|
return configs.write_config(configs.controllerHardware.wheelDiameter, convertFromInch(value));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
struct NumMagnetPolesAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.controllerHardware.numMagnetPoles; } };
|
||||||
|
struct SwapFrontBackAccessor : public virtual espgui::AccessorInterface<bool> {
|
||||||
|
bool getValue() const override { return configs.controllerHardware.swapFrontBack.value(); }
|
||||||
|
setter_result_t setValue(bool value) override
|
||||||
|
{
|
||||||
|
const auto err = configs.write_config(configs.controllerHardware.swapFrontBack, value);
|
||||||
|
#ifdef FEATURE_SERIAL
|
||||||
|
updateSwapFrontBack();
|
||||||
|
#endif
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// CAN
|
||||||
|
#ifdef FEATURE_CAN
|
||||||
|
struct SendFrontCanCmdAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.controllerHardware.sendFrontCanCmd; } };
|
||||||
|
struct SendBackCanCmdAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.controllerHardware.sendBackCanCmd; } };
|
||||||
|
struct CanTransmitTimeoutAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.controllerHardware.canTransmitTimeout; } };
|
||||||
|
struct CanReceiveTimeoutAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.controllerHardware.canReceiveTimeout; } };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Input devices
|
||||||
|
struct SampleCountAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.sampleCount; } };
|
||||||
|
struct GasMinAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.gasMin; } };
|
||||||
|
struct GasMaxAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.gasMax; } };
|
||||||
|
struct BremsMinAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.bremsMin; } };
|
||||||
|
struct BremsMaxAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.bremsMax; } };
|
||||||
|
#if defined(FEATURE_DPAD) || defined(FEATURE_DPAD_3WIRESW) || defined(FEATURE_DPAD_5WIRESW) || defined(FEATURE_DPAD_5WIRESW_2OUT) || defined (FEATURE_DPAD_6WIRESW) || defined (DPAD_BOARDCOMPUTER_V2)
|
||||||
|
struct DPadDebounceAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadDebounce; } };
|
||||||
|
struct ButtonDelayAccessor : public NewSettingsAccessor<uint16_t> { ConfigWrapper<uint16_t> &getConfig() const override { return configs.buttonReadDelay; } };
|
||||||
|
#endif
|
||||||
|
#ifdef FEATURE_GAMETRAK
|
||||||
|
struct GametrakXMinAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.gametrakXMin; } };
|
||||||
|
struct GametrakXMaxAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.gametrakXMax; } };
|
||||||
|
struct GametrakYMinAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.gametrakYMin; } };
|
||||||
|
struct GametrakYMaxAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.gametrakYMax; } };
|
||||||
|
struct GametrakDistMinAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.gametrakDistMin; } };
|
||||||
|
struct GametrakDistMaxAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.gametrakDistMax; } };
|
||||||
|
#endif
|
||||||
|
struct StatsUpdateRateAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.timersSettings.statsUpdateRate; } };
|
||||||
|
|
||||||
|
// Cloud
|
||||||
|
struct CloudCollectRateAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.timersSettings.cloudCollectRate; } };
|
||||||
|
struct CloudSendRateAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.timersSettings.cloudSendRate; } };
|
||||||
|
|
||||||
|
struct UdpCloudSendIntervalAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.boardcomputerHardware.timersSettings.udpSendRateMs; } };
|
||||||
|
struct UdpCloudEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.udpCloudSettings.udpCloudEnabled; } };
|
||||||
|
struct UdpCloudDebugEnableAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.udpCloudSettings.enableCloudDebug; } };
|
||||||
|
struct UdpCloudHostAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.udpCloudSettings.udpCloudHost; } };
|
||||||
|
struct UdpCloudPortAccessor : public NewSettingsAccessor<uint16_t> { ConfigWrapper<uint16_t> &getConfig() const override { return configs.udpCloudSettings.udpCloudPort; } };
|
||||||
|
|
||||||
|
// DefaultMode
|
||||||
|
struct DefaultModeModelModeAccessor : public RefAccessorSaveSettings<UnifiedModelMode> { UnifiedModelMode &getRef() const override { return profileSettings.defaultMode.modelMode; } };
|
||||||
|
struct DefaultModeAllowRemoteControlAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.allowRemoteControl; } };
|
||||||
|
struct DefaultModeSquareGasAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.squareGas; } };
|
||||||
|
struct DefaultModeSquareBremsAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.squareBrems; } };
|
||||||
|
|
||||||
|
struct DefaultModeEnableSmoothingUpAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.enableSmoothingUp; } };
|
||||||
|
struct DefaultModeEnableSmoothingDownAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.enableSmoothingDown; } };
|
||||||
|
struct DefaultModeEnableFieldWeakSmoothingUpAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.enableFieldWeakSmoothingUp; } };
|
||||||
|
struct DefaultModeEnableFieldWeakSmoothingDownAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.enableFieldWeakSmoothingDown; } };
|
||||||
|
struct DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.fwSmoothLowerLimit; } };
|
||||||
|
|
||||||
|
struct DefaultModeSmoothingAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.smoothing; } };
|
||||||
|
struct DefaultModeFrontPercentageAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.frontPercentage; } };
|
||||||
|
struct DefaultModeBackPercentageAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.backPercentage; } };
|
||||||
|
struct DefaultModeAddSchwelleAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.add_schwelle; } };
|
||||||
|
struct DefaultModeGas1WertAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.gas1_wert; } };
|
||||||
|
struct DefaultModeGas2WertAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.gas2_wert; } };
|
||||||
|
struct DefaultModeBrems1WertAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.brems1_wert; } };
|
||||||
|
struct DefaultModeBrems2WertAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return profileSettings.defaultMode.brems2_wert; } };
|
||||||
|
|
||||||
|
// TempomatMode
|
||||||
|
struct TempomatModeModelModeAccessor : public RefAccessorSaveSettings<UnifiedModelMode> { UnifiedModelMode &getRef() const override { return profileSettings.tempomatMode.modelMode; } };
|
||||||
|
|
||||||
|
// LarsmMode
|
||||||
|
struct LarsmModeModelModeAccessor : public RefAccessorSaveSettings<UnifiedModelMode> { UnifiedModelMode &getRef() const override { return profileSettings.larsmMode.modelMode; } };
|
||||||
|
struct LarsmModeModeAccessor : public RefAccessorSaveSettings<LarsmModeMode> { LarsmModeMode &getRef() const override { return profileSettings.larsmMode.mode; } };
|
||||||
|
struct LarsmModeIterationsAccessor : public RefAccessorSaveSettings<uint8_t> { uint8_t &getRef() const override { return profileSettings.larsmMode.iterations; } };
|
||||||
|
|
||||||
|
// MotortestMode
|
||||||
|
struct MotortestModeMultiplikatorAccessor : public RefAccessorSaveSettings<uint8_t> { uint8_t &getRef() const override { return profileSettings.motortestMode.multiplikator; } };
|
||||||
|
struct MotortestMaxPwmAccessor : public RefAccessorSaveSettings<uint16_t> { uint16_t &getRef() const override { return profileSettings.motortestMode.maxPwm; } };
|
||||||
|
|
||||||
|
// MickMode
|
||||||
|
struct MickModeModelModeAccessor : public RefAccessorSaveSettings<UnifiedModelMode> { UnifiedModelMode &getRef() const override { return profileSettings.mickMode.modelMode; } };
|
||||||
|
struct MickModeSmoothingAccessor : public RefAccessorSaveSettings<uint16_t> { uint16_t &getRef() const override { return profileSettings.mickMode.smoothing; } };
|
||||||
|
|
||||||
|
// Remote Control Mode
|
||||||
|
struct RemoteControlModeModelModeAccessor : public RefAccessorSaveSettings<UnifiedModelMode> { UnifiedModelMode &getRef() const override { return profileSettings.remoteControlMode.modelMode; } };
|
||||||
|
|
||||||
|
// Ledstrip
|
||||||
|
struct EnableLedAnimationAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.enableLedAnimation; } };
|
||||||
|
struct EnableBrakeLightsAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.enableBrakeLights; } };
|
||||||
|
struct LedsCountAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.ledstrip.ledsCount; } };
|
||||||
|
struct CenterOffsetAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.ledstrip.centerOffset; } };
|
||||||
|
struct SmallOffsetAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.ledstrip.smallOffset; } };
|
||||||
|
struct BigOffsetAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.ledstrip.bigOffset; } };
|
||||||
|
struct LedStripMaxMilliampsAccessor : public NewSettingsAccessor<uint32_t> { ConfigWrapper<uint32_t> &getConfig() const override { return configs.ledstrip.maxMilliamps; } };
|
||||||
|
struct LedStripMaxAmpereAccessor : public virtual espgui::AccessorInterface<float>
|
||||||
|
{
|
||||||
|
float getValue() const override
|
||||||
|
{
|
||||||
|
return configs.ledstrip.maxMilliamps.value() / 1000.f;
|
||||||
|
}
|
||||||
|
|
||||||
|
espgui::AccessorInterface<float>::setter_result_t setValue(float value) override
|
||||||
|
{
|
||||||
|
return configs.write_config(configs.ledstrip.maxMilliamps, value * 1000);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
struct EnableBeepWhenBlinkAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.enableBeepWhenBlink; } };
|
||||||
|
struct EnableFullBlinkAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.enableFullBlink; } };
|
||||||
|
struct EnableLedstripStVOAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.enableStVO; } };
|
||||||
|
struct LedsStVOFrontOffsetAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.ledstrip.stvoFrontOffset; } };
|
||||||
|
struct LedsStVOFrontLengthAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.ledstrip.stvoFrontLength; } };
|
||||||
|
struct EnableLedstripStVOFrontlight : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.stvoFrontEnable; } };
|
||||||
|
struct AnimationMultiplierAccessor : public NewSettingsAccessor<int16_t> { ConfigWrapper<int16_t> &getConfig() const override { return configs.ledstrip.animationMultiplier; } };
|
||||||
|
struct LedstripBrightnessAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.ledstrip.brightness; } };
|
||||||
|
struct LedstripEnableBlinkAnimationAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.enableAnimBlink; } };
|
||||||
|
struct LedstripOtaAnimationAccessor : public NewSettingsAccessor<OtaAnimationModes> { ConfigWrapper<OtaAnimationModes> &getConfig() const override { return configs.ledstrip.otaMode; } };
|
||||||
|
struct LedstripEnableVisualizeBlinkAnimationAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.enableVisualizeBlink; } };
|
||||||
|
struct LedstripAutomaticLightAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.automaticLight; } };
|
||||||
|
struct LedstripBrakeLightUseAccelAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.brakeLights_useAccel; } };
|
||||||
|
struct LedstripBrakeLightUsePowerAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.ledstrip.brakeLights_usePower; } };
|
||||||
|
|
||||||
|
|
||||||
|
// Battery
|
||||||
|
struct BatterySeriesCellsAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.battery.cellsSeries; } };
|
||||||
|
struct BatteryParallelCellsAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.battery.cellsParallel; } };
|
||||||
|
struct BatteryWHperKMAccessor : public NewSettingsAccessor<uint16_t> { ConfigWrapper<uint16_t> &getConfig() const override { return configs.battery.watthoursPerKilometer; } };
|
||||||
|
struct BatteryApplyCalibrationAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.battery.applyCalibration; } };
|
||||||
|
|
||||||
|
// Lockscreen
|
||||||
|
struct LockscreenAllowPresetSwitchAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.lockscreen.allowPresetSwitch; } };
|
||||||
|
template<uint8_t index>
|
||||||
|
struct LockscreenPinDigitAccessor : public NewSettingsAccessor<int8_t> { ConfigWrapper<int8_t> &getConfig() const override { return configs.lockscreen.pin[index]; } };
|
||||||
|
struct LockscreenKeepLockedAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.lockscreen.keepLockedAfterReboot; } };
|
||||||
|
|
||||||
|
// Handbremse
|
||||||
|
struct HandbremsEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.handbremse.enable; } };
|
||||||
|
struct HandbremsModeAccessor : public NewSettingsAccessor<HandbremseMode> { ConfigWrapper<HandbremseMode> &getConfig() const override { return configs.handbremse.mode; } };
|
||||||
|
struct HandbremsTimeoutAccessor : public NewSettingsAccessor<uint16_t> { ConfigWrapper<uint16_t> &getConfig() const override { return configs.handbremse.triggerTimeout; } };
|
||||||
|
struct HandbremsAutomaticAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.handbremse.automatic; } };
|
||||||
|
struct HandbremsVisualizeAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.handbremse.visualize; } };
|
||||||
|
|
||||||
|
// ESP Now
|
||||||
|
struct ESPNowSyncTimeEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.espnow.syncTime; } };
|
||||||
|
struct ESPNowSyncTimeWithOthersEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.espnow.syncTimeWithOthers; } };
|
||||||
|
struct ESPNowSyncBlinkEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.espnow.syncBlink; } };
|
||||||
|
|
||||||
|
// Button Mapping accessors
|
||||||
|
struct ButtonLeftAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingLeft; } };
|
||||||
|
struct ButtonRightAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingRight; } };
|
||||||
|
struct ButtonUpAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingUp; } };
|
||||||
|
struct ButtonDownAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingDown; } };
|
||||||
|
|
||||||
|
struct ButtonLeft2Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingLeft2; } };
|
||||||
|
struct ButtonRight2Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingRight2; } };
|
||||||
|
struct ButtonUp2Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingUp2; } };
|
||||||
|
struct ButtonDown2Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingDown2; } };
|
||||||
|
|
||||||
|
struct ButtonProfile0Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingProfile0; } };
|
||||||
|
struct ButtonProfile1Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingProfile1; } };
|
||||||
|
struct ButtonProfile2Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingProfile2; } };
|
||||||
|
struct ButtonProfile3Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingProfile3; } };
|
||||||
|
|
||||||
|
struct ButtonExtra1Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingExtra1; } };
|
||||||
|
struct ButtonExtra2Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingExtra2; } };
|
||||||
|
struct ButtonExtra3Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingExtra3; } };
|
||||||
|
struct ButtonExtra4Accessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.dpadMappingExtra4; } };
|
||||||
|
|
||||||
|
// Can
|
||||||
|
struct CanResetOnErrorAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.canResetOnError; } };
|
||||||
|
struct CanReinstallDriverAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.canUninstallOnReset; } };
|
||||||
|
|
||||||
|
// Quick Actions
|
||||||
|
struct QuickActionLeft2Accessor : public NewSettingsAccessor<BobbyQuickActions> { ConfigWrapper<BobbyQuickActions> &getConfig() const override { return configs.quickActionLeft2; } };
|
||||||
|
struct QuickActionRight2Accessor : public NewSettingsAccessor<BobbyQuickActions> { ConfigWrapper<BobbyQuickActions> &getConfig() const override { return configs.quickActionRight2; } };
|
||||||
|
struct QuickActionUp2Accessor : public NewSettingsAccessor<BobbyQuickActions> { ConfigWrapper<BobbyQuickActions> &getConfig() const override { return configs.quickActionUp2; } };
|
||||||
|
struct QuickActionDown2Accessor : public NewSettingsAccessor<BobbyQuickActions> { ConfigWrapper<BobbyQuickActions> &getConfig() const override { return configs.quickActionDown2; } };
|
||||||
|
struct QuickActionExtra1Accessor : public NewSettingsAccessor<BobbyQuickActions> { ConfigWrapper<BobbyQuickActions> &getConfig() const override { return configs.quickActionExtra1; } };
|
||||||
|
struct QuickActionExtra2Accessor : public NewSettingsAccessor<BobbyQuickActions> { ConfigWrapper<BobbyQuickActions> &getConfig() const override { return configs.quickActionExtra2; } };
|
||||||
|
struct QuickActionExtra3Accessor : public NewSettingsAccessor<BobbyQuickActions> { ConfigWrapper<BobbyQuickActions> &getConfig() const override { return configs.quickActionExtra3; } };
|
||||||
|
struct QuickActionExtra4Accessor : public NewSettingsAccessor<BobbyQuickActions> { ConfigWrapper<BobbyQuickActions> &getConfig() const override { return configs.quickActionExtra4; } };
|
||||||
|
|
||||||
|
// boardcomputer-hardware
|
||||||
|
struct FlipScreenAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.boardcomputerHardware.flipScreen; } };
|
||||||
|
|
||||||
|
// Other
|
||||||
|
struct AnhaengerIdAccessor : public NewSettingsAccessor<uint16_t> { ConfigWrapper<uint16_t> &getConfig() const override { return configs.anhaenger_id; } };
|
||||||
|
struct UsernameAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.otaUsername; } };
|
1
main/accessors/wifiaccessors.cpp
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "wifiaccessors.h"
|
4
main/accessors/wifiaccessors.h
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "accessorinterface.h"
|
15
main/accessors/wifiapconfigaccessors.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "accessorhelpers.h"
|
||||||
|
#include "newsettings.h"
|
||||||
|
|
||||||
|
struct WifiApEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.wifiApEnabled; } };
|
||||||
|
//struct WifiApDisableWhenOnlineAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.wifiDisableApWhenOnline; } };
|
||||||
|
struct WifiApSsidAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.wifiApName; } };
|
||||||
|
struct WifiApKeyAccessor : public NewSettingsAccessor<std::string> { ConfigWrapper<std::string> &getConfig() const override { return configs.wifiApKey; } };
|
||||||
|
struct WifiApIpAccessor : public NewSettingsAccessor<wifi_stack::ip_address_t> { ConfigWrapper<wifi_stack::ip_address_t> &getConfig() const override { return configs.wifiApIp; } };
|
||||||
|
struct WifiApMaskAccessor : public NewSettingsAccessor<wifi_stack::ip_address_t> { ConfigWrapper<wifi_stack::ip_address_t> &getConfig() const override { return configs.wifiApMask; } };
|
||||||
|
struct WifiApChannelAccessor : public NewSettingsAccessor<uint8_t> { ConfigWrapper<uint8_t> &getConfig() const override { return configs.wifiApChannel; } };
|
||||||
|
struct WifiApAuthmodeAccessor : public NewSettingsAccessor<wifi_auth_mode_t> { ConfigWrapper<wifi_auth_mode_t> &getConfig() const override { return configs.wifiApAuthmode; } };
|
||||||
|
struct WiFiApHiddenAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.wifiApHidden; } };
|
3
main/accessors/wifistaconfigaccessors.cpp
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#include "wifistaconfigaccessors.h"
|
||||||
|
|
||||||
|
|
107
main/accessors/wifistaconfigaccessors.h
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "sdkconfig.h"
|
||||||
|
|
||||||
|
// system includes
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <accessorinterface.h>
|
||||||
|
#include <espwifiutils.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "newsettings.h"
|
||||||
|
#include "accessorhelpers.h"
|
||||||
|
|
||||||
|
struct WifiStaEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.wifiStaEnabled; } };
|
||||||
|
struct WifiStaMinRssiAccessor : public NewSettingsAccessor<int8_t> { ConfigWrapper<int8_t> &getConfig() const override { return configs.wifiStaMinRssi; } };
|
||||||
|
|
||||||
|
class WifiStaConfigSsidAccessor : public virtual NewSettingsAccessor<std::string>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigSsidAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<std::string>& getConfig() const override { return configs.wifi_configs[m_index].ssid; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigKeyAccessor : public virtual NewSettingsAccessor<std::string>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigKeyAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<std::string>& getConfig() const override { return configs.wifi_configs[m_index].key; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigUseStaticIpAccessor : public virtual NewSettingsAccessor<bool>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigUseStaticIpAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<bool>& getConfig() const override { return configs.wifi_configs[m_index].useStaticIp; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigStaticIpAccessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigStaticIpAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticIp; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigStaticSubnetAccessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigStaticSubnetAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticSubnet; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigStaticGatewayAccessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigStaticGatewayAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticGateway; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigUseStaticDnsAccessor : public virtual NewSettingsAccessor<bool>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigUseStaticDnsAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<bool>& getConfig() const override { return configs.wifi_configs[m_index].useStaticDns; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigStaticDns0Accessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigStaticDns0Accessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticDns0; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigStaticDns1Accessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigStaticDns1Accessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticDns1; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiStaConfigStaticDns2Accessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WifiStaConfigStaticDns2Accessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticDns2; }
|
||||||
|
private:
|
||||||
|
const int m_index;
|
||||||
|
};
|
9
main/actions/assertaction.cpp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#include "assertaction.h"
|
||||||
|
|
||||||
|
// system includes
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
void AssertAction::triggered()
|
||||||
|
{
|
||||||
|
assert(0);
|
||||||
|
}
|
10
main/actions/assertaction.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include "actioninterface.h"
|
||||||
|
|
||||||
|
class AssertAction : public virtual espgui::ActionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void triggered() override;
|
||||||
|
};
|
16
main/actions/bluetoothbeginaction.cpp
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#include "bluetoothbeginaction.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "globals.h"
|
||||||
|
#include "newsettings.h"
|
||||||
|
|
||||||
|
#ifdef FEATURE_BLUETOOTH
|
||||||
|
void BluetoothBeginAction::triggered()
|
||||||
|
{
|
||||||
|
if (!bluetoothSerial.begin(configs.bluetoothName.value.c_str()))
|
||||||
|
{
|
||||||
|
//Serial.println("Could not begin bluetooth");
|
||||||
|
// TODO: better error handling
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
12
main/actions/bluetoothbeginaction.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <actioninterface.h>
|
||||||
|
|
||||||
|
#ifdef FEATURE_BLUETOOTH
|
||||||
|
class BluetoothBeginAction : public virtual espgui::ActionInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void triggered() override;
|
||||||
|
};
|
||||||
|
#endif
|