From 2dd6791f7add1430027ee348245f7ee0e7008ce3 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sat, 9 Sep 2023 13:01:24 +0100 Subject: [PATCH] version fixes --- firmware | Bin 167608 -> 167644 bytes firmware.bin | Bin 55312 -> 55340 bytes firmware.packed.bin | Bin 55330 -> 55358 bytes main.c | 19 +++++++++++++++++-- version.c | 6 +++++- 5 files changed, 22 insertions(+), 3 deletions(-) diff --git a/firmware b/firmware index 3ef383495f19e4db5256ca3284d12abd15a35bae..32be62519081191e8dbc9d48bb0f8106b61cf633 100644 GIT binary patch delta 15301 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 Lcg+pY8V&y+aoe2F delta 15247 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 Dc%rlT delta 3981 zcmaJ^dsr0L6~AZp!9L^>(ehZ4-Ps`MA}%5V5`<_a3@b4)^;PpAK2oT`;%8J86>Z|9 zAy)8U0GApKF$K{CGT9_1wQ4l6No!oHM%37%CMEGR$t3-BV0VY@nHAgoRle`X@0{N~ zGxy$e@40vOP^YG@Q`1=roOB)+fft5}8QdifbYi$}9&rCw@ELs?T*KY^MED9l`sA!` zMLU{#i~kkT6xq!9c9%(dTVW~8`|yy$>?Wy0Rk~|>BlbkPnU&ehQYl7<<K;73m^{w}FN)C*9tMaJPfQauU`2Cb5|m?l;bAa{|13NP(VqvbY@ADz_sv@x zenD)GGfX;zT}3OC25Fq{nVGfCz^ube%=!qyJd9a&=NK~(vPq9XLGX`MBY#1yEJ|OX zw!B79>2N`DE?mLg#T{@FA9N+aU&N*oX=So^(39fm#R;!bOK~X>JV=b%{&peg` zG^DUOvjFCb^X4XUa1+*l`e2ot+*g^BWus{cpB3}7rkfV8Cd7_(x zeDQGUy8soqbWuITi}E4`pjo`VWIsT$*!WDB)^hU{V;yIL!7ttq2AL<)wWBjq(6n)= zlj3plvP@VjHZL=S`J9huDS{NIlRm>YpS75W`+3G}*-R&ei16q!xxrcnE2vZ`^;+8~_AIqMQ34_B?b2t`;@{VV$KsdjK* zevH?vUxhy0vOdvLGEh3bAg=N#^JElHFORCSltH#OCA~)@@#3-dv@=(V#*McD#)-k2 z%>e(z&6{oTnb^8{020)RvT_w6 zov42oa&hf03nb(2T^GTL6__zrqPYmP6uo?uhuOAv?qZJ>aZ*b#if1;ijguOKj|eLF z;U|~?FJK=ornPo8B*1hmZ*U7)R1V)$(M%zhhzp3@sc_W7+C)5q{MCd<37zCWPTWIr zZ<4*3?5JeME|I?+OLn_pIX3T}o^^Hbhd!976aN0zk9}&a+P;ore@oavkUgWAp~F(8 zV+@TQiB%B{c5%|D82z$flNB4&yA0_D-pM|R<)rTw=7!8*?48)_eNGLtK93t-79u~S zC~$}KU&n^0bJ7QR;pNQmeWbO;O<}6C2V)wOU@7J`I+9i>kQp{f3OybB7se_*#+f>1 zuVM~Uw}Cg=N=I>07w%|ufE$lA&Kvm~rI&KIi{()s%ay!P_Ksi@9f4-N)Rb%4Ml(=n zrDmv?mpr>@|C}nqPEP8@3C$hw54_TBGp`Lq@#!prGXETg?fC#s;mJKoab13}>rv~5 z$(E|qj@dm1{#juk^?v}t{b1zh{;(z!581ku(jJg5;iK-HLF`B ztywE^7vYy=cj}ncNvI(EebUN_PkqGL1tYT_B5ok4GyM~B3qf7Smx$LBzM%MPgl`Bx z5C+cS<(6k^w)m_}!ygc~(4cC3kjAQg()vMxmaRg+3iATSE#84W!KW)%2box2$KIt9e6MJ&euua$_Izvaua_><_MJ zt1ryGP_Mh7Ytr*;g(`}V!Gyg>;XS;v*RtT?fTQeS8BUA#YTTA8aOk?#G!_W&P+ZG^ zs&PZw10ih}Y3_B*q4TP7*}`#(+pfk{-+OkF@F{5sqsKjNjBtj|HzLHZDq_o`I zC~E5V(T4dKrS1lymvEJEnQ)PCo}i}v3A&|xbPcHGGMY3-7)K~3Oe4HNP}9Gg-nE3d zj(9flaKc2w6vA_~jI`A8)(`0=UV^$yADOA{Q!A_O2Z+G1{r_S1yUoP*F_ju^{O3ap|Ld+wqkzkAB-ml=N8YU*joIm)efi8_*#Y$2Mdb}Nn40B zUQ03_8k}03Pu|aQ>zweC+D7K_3udjVe-}G`l0N` zc2ED8Q)_X>fg7A(!MU%GF|JfHi!)tJ%Ec|O9h11hBtt;(gZxc`mi6CUrkRXDLW&nA@IbyzO@uJ1O)iZf;NJ_3xzl5Q z4f3_#;e4u)O8yal>qgZd#*Y)mk>BNCJmjYcDde~NQ$p{wcujoJHincR{Wz>+YRxA9 zKl+XrcIuf`JuF&j_kK>?PpBt*bQskL*#%^eAY0v9S!A2Ywh+toTqN;LVh!T zh`5IQ3c^By`aO|K^*)|h{kWE?{^_IM6>F%{r0D3FXvXf2H^a01>P0!FXcz6)blh<$ z!OZ*B{a|PVDFHo)GAwz%8zakqIuqv`sncymA>FjtcObWmTC+o+ZUs_RCR$`)8_O8Ju@O*7PS;+Ctus!>vd)>p> fz9F;_zdnSw-lHr3C$_4qej(}iFiO;&OV<4d(0r^e diff --git a/firmware.packed.bin b/firmware.packed.bin index a8dc297975ac5d4088dae99b6b1e3fd91d141d0f..60b598d278dc6605a9d5e895e252919e17e0c345 100644 GIT binary patch delta 14541 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

^t~SoCCWiVq!J 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 diff --git a/main.c b/main.c index ea34d94..9b2eb85 100644 --- a/main.c +++ b/main.c @@ -36,7 +36,13 @@ #include "ui/lock.h" #include "ui/welcome.h" -static const char Version[] = "UV-K5 Firmware, v0.01 Open Edition\r\n"; +#ifdef GIT_HASH + static const char Version[] = "UV-K5 Firmware, Open Edition, OEFW-"GIT_HASH"\r\n"; +#else + #include "version.h" + static const char Version1[] = "UV-K5 Firmware, Open Edition, "; + static const char Version2[] = "\r\n"; +#endif void _putchar(char c) { @@ -60,7 +66,16 @@ void Main(void) BOARD_Init(); UART_Init(); - UART_Send(Version, sizeof(Version)); + + #ifdef GIT_HASH + UART_Send(Version, sizeof(Version)); + #else + { + UART_Send(Version1, sizeof(Version1)); + UART_Send(Version, strlen(Version)); + UART_Send(Version2, sizeof(Version2)); + } + #endif // Not implementing authentic device checks diff --git a/version.c b/version.c index b938457..0f9496f 100644 --- a/version.c +++ b/version.c @@ -1,2 +1,6 @@ -const char Version[] = "OEFW-230909"; +#ifdef GIT_HASH + const char Version[] = "OEFW-" GIT_HASH; +#else + const char Version[] = "OEFW-230909"; +#endif