Skip to content

Commit

Permalink
2020-07-13 23:59:51 UTC
Browse files Browse the repository at this point in the history
  • Loading branch information
Decent Espresso committed Jul 14, 2020
1 parent 98c8319 commit 411c004
Show file tree
Hide file tree
Showing 7 changed files with 125 additions and 38 deletions.
45 changes: 45 additions & 0 deletions binary.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,31 @@ proc decent_scale_weight_read_spec2 {} {
return $spec
}

# typedef struct {
# U32 CheckSum; // The checksum of the rest of the encrypted image. Includes "CheckSums" + "Data" fields, not "Header"
# U32 BoardMarker; // 0xDE100001
# U32 Version; // The version of this image
# U32 ByteCount; // Number of bytes in image body, ignoring padding.
# U32 CPUBytes; // The first CPUBytes of the image are for the CPU. Remainder is for BLE.
# U32 Unused; // Blank spot for future extension. Always zero for now
# U32 DCSum; // Checksum of decrypted image
# U8 IV[32]; // Initialization vector for the firmware
# U32 HSum; // Checksum of this header.
# } T_FirmwareHeader;

proc firmware_file_spec {} {
set spec {
CheckSum {int {} {} {unsigned} {[format %X $val]}}
BoardMarker {int {} {} {unsigned} {[format %X $val]}}
Version {int {} {} {unsigned} {}}
ByteCount {int {} {} {unsigned} {}}
CPUBytes {int {} {} {unsigned} {}}
Unused {int {} {} {unsigned} {}}
DCSum {int {} {} {unsigned} {[format %X $val]}}
}
return $spec
}


proc decent_scale_timing_read_spec {} {
set spec {
Expand Down Expand Up @@ -1083,6 +1108,26 @@ proc shot_sample_spec {} {

}

proc parse_firmware_file_header {packed destarrname} {
upvar $destarrname Version
unset -nocomplain Version

set spec [firmware_file_spec]
array set specarr $spec

::fields::unpack $packed $spec Version littleeendian
foreach {field val} [array get Version] {
set specparts $specarr($field)
set extra [lindex $specparts 4]
if {$extra != ""} {
set Version($field) [expr $extra]
}
}

}



proc parse_map_request {packed destarrname} {
upvar $destarrname Version
unset -nocomplain Version
Expand Down
22 changes: 21 additions & 1 deletion bluetooth.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,22 @@ proc de1_enable_maprequest_notifications {} {
}

proc fwfile {} {
return "[homedir]/fw/bootfwupdate.dat"

set fw "[homedir]/fw/bootfwupdate.dat"

if {[info exists ::de1(Firmware_file_Version)] != 1} {
msg "reading firmware file metadata"
parse_firmware_file_header [read_binary_file $fw] arr
#msg "firmware file info: [array get arr]"
foreach {k v} [array get arr] {
set varname "Firmware_file_$k"
set varvalue $arr($k)
msg "$varname : $varvalue"
set ::de1($varname) $varvalue
}
}

return $fw

# obsolete as of 6-6-20 a only using one firmware file again now

Expand Down Expand Up @@ -684,6 +699,11 @@ proc start_firmware_update {} {
}
}

#proc get_firmware_file_specs {} {
# parse_firmware_file_header [read_binary_file [fwfile]] arr
# msg "firmware file info: [array get arr]"
#}

proc write_firmware_now {} {
set ::de1(currently_updating_firmware) 1
set ::de1(currently_erasing_firmware) 0
Expand Down
12 changes: 6 additions & 6 deletions manifest.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
"binary.tcl" 63280 1594340183 26275e92da842214cf8ee100dba6a159901bfe80179e8b400e48bf076e5acbbf
"bluetooth.tcl" 92621 1594667068 5ad6fdbcc5c519ca5466d394728f1fd2dcbf85dc0816336a8e38ece469d8d4e2
"translation.tcl" 394251 1594411629 74fed483b6d121b3716169b06770bd83396dce79d3162df6b1788f24d0ea3ef3
"binary.tcl" 64714 1594684115 496c1165bec61fc33da096ef96c00d4b7420b880c749b0cdf8d5bce2a97825c1
"bluetooth.tcl" 93139 1594684115 82619021fd08052205055e7113d601f7f9cfc57d14b1463e3186460324034256
"translation.tcl" 397592 1594684788 0465e94fbb407c9605593c1b172591130fef4d19cb6a65c7a9d6d51826d11c09
"de1plus.tcl" 170 1515060265 5fed814ddfcaeeb20317ebf4b554b4c88a5dac1f7e606c193adecc2388014687
"de1.tcl" 144 1515562773 badcd3b35fd9257cacb1e21807e8dc836137ca6cdcbf01c21df5f96b76254b2c
"gui.tcl" 79070 1594680221 6a6b0a940ef2f2e9fd7292bd8a5a8ab8fc1c123ae055f74486a3a872511a5cc9
"machine.tcl" 24133 1594496138 cebaae40fbd51c15934f84e8d664f376f9229bd8a49ea53806d091f087e3c6b9
"utils.tcl" 77468 1594172818 1e35bd2dadb57011c383e593d0795923dc64f5756962c2c565091835838bf417
"main.tcl" 647 1545380109 379121426d075b5e3a1fbbfdffd73a23110acc3be81e22efb2eb8232d1240f71
"vars.tcl" 93349 1594418761 aaeb1b1b4762d70f92d589607ed6ec58205e8bf70698fb3f1bb46f1d5d479f5e
"vars.tcl" 94201 1594684115 063a406da13cd8aa4882175eda7c3261f0422cc9cd1603df5f901f5656554d50
"updater.tcl" 23539 1593115812 20f201c825295e1cf9849ca0776702f3895b74426a5def068aa5be1fb6a9fbc8
"misc.tcl" 28188 1594150976 96978d32f447c4228390c469d089c471a50e3915c2d309c071d163f606d994fb
"pkgIndex.tcl" 736 1517380383 4b75efb1497feed01a6320f5a414fac81b22afa86e4d79da945d8c5482d4bc54
Expand Down Expand Up @@ -44,7 +44,7 @@
"godshots/export/columnar/readme.txt" 296 1545298443 bb57ed445a77d13ea3d6168c2d195caf1608b603b94125e2e00d6a8c839fae8e
"splash/1280x800/de1.jpg" 35488 1523957754 49c9de9c31039ae3d6afc8b5427d6bce8dac1b29448f25767605a6775207c757
"splash/2560x1600/de1.jpg" 384894 1513854361 e281b598098ac6acda37553815ef9880508dd1c66cf8d9ae386a3d3ddcd1ef38
"skins/default/de1_skin_settings.tcl" 127539 1594680191 dbce06a89aa4bf9c9f45e6ac6e3db8895249b3729d5dde1517a58718edbbb321
"skins/default/de1_skin_settings.tcl" 127540 1594684122 3088b0b96983801d22592ac4d43f43cd776be018fb8f8ca2ea5d940ba91445f2
"skins/default/skin.tcl" 3982 1516857381 5396820dffbe19fb2e764e64c5ea31c58b82b2bf7e18e53bee93de6fd9db7db5
"skins/default/standard_includes.tcl" 3594 1594062739 41fc7eb31c7c10a916241df96d5ec46ea5ade7019bd71b985c1d3d5bfc61d3fc
"skins/default/standard_stop_buttons.tcl" 2697 1578964025 c08b787ab2d1379e2a3389afd0de93b726fc8e9dba302554e82e49c12d92e962
Expand Down Expand Up @@ -426,7 +426,7 @@
"profiles/Advanced spring lever.tcl" 2197 1585072943 d955f004281a5bbd8a90f4157e6e9251bbbf6c61aed35b801189098e3de263e7
"profiles/Blooming espresso.tcl" 2120 1585325250 a1add8f2dc8450c6888b2f7423a0710fd99dd021354628bbb2a03aebb25d8533
"profiles/Blooming allonge.tcl" 2445 1586995934 13bd6b02a064377f593390a2286133c8c43ad5c055401a9b8f42281d76e3f9c5
"profiles/Classic Italian espresso.tcl" 1955 1585004120 2777cc260a1b1b746173d62234b62a8ab8b2c9fce4ad6476c6ece1579cedb1ff
"profiles/Classic Italian espresso.tcl" 1955 1594684116 2777cc260a1b1b746173d62234b62a8ab8b2c9fce4ad6476c6ece1579cedb1ff
"profiles/Flow profile for milky drinks.tcl" 1634 1585004120 9d7b7326ae5f41cb1b001dc50a6c4d9809773bee29385b23530955c4b1208f1d
"profiles/Flow profile for straight espresso.tcl" 1649 1585004120 43eaff03c31e2c0a700febcc9b3cfcf7ec96205f0dd14419e5fe6e6806dfd88b
"profiles/Gentle flat 2.5 ml per second.tcl" 972 1585004120 ec3b2879cd0df2de23be5db20f6072ef24dbe82999ba5db862a4537f35ddb342
Expand Down
6 changes: 3 additions & 3 deletions skins/default/de1_skin_settings.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -438,8 +438,8 @@ add_de1_text "settings_3" 1304 220 -text [translate "Maintenance"] -font Helv_10

add_de1_text "settings_3" 1304 750 -text [translate "Firmware"] -font Helv_10_bold -fill "#7f879a" -justify "left" -anchor "nw"
# firmware update
add_de1_variable "settings_3" 1960 906 -text "" -width [rescale_y_skin 1000] -font Helv_10_bold -fill "#FFFFFF" -justify "center" -anchor "center" -textvariable {[check_firmware_update_is_available][translate $::de1(firmware_update_button_label)]}
add_de1_variable "settings_3" 1960 964 -font Helv_8 -fill "#FFFFFF" -anchor "center" -width 500 -justify "center" -textvariable {[firmware_uploaded_label]}
add_de1_variable "settings_3" 1960 926 -text "" -width [rescale_y_skin 1000] -font Helv_10_bold -fill "#FFFFFF" -justify "center" -anchor "center" -textvariable {[check_firmware_update_is_available][translate $::de1(firmware_update_button_label)]}
#add_de1_variable "settings_3" 1960 964 -font Helv_8 -fill "#FFFFFF" -anchor "center" -width 500 -justify "center" -textvariable {[firmware_uploaded_label]}
#add_de1_button "settings_3" {start_firmware_update} 1280 820 2540 1020
add_de1_button "settings_3" {set ::de1(in_fw_update_mode) 1; page_to_show_when_off firmware_update_1} 1280 850 2540 1020

Expand Down Expand Up @@ -1134,5 +1134,5 @@ proc setting_profile_type_to_text { } {
}
}

#set_next_page off calibrate2
#set_next_page off settings_3
#set ::settings(force_fw_update) 1; set ::de1(in_fw_update_mode) 1; page_to_show_when_off firmware_update_1
2 changes: 1 addition & 1 deletion timestamp.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1594680223
1594684791
Loading

0 comments on commit 411c004

Please sign in to comment.