@lionel here’s where it stands at the moment.
There’s a cool new checklist available on the appstore. It’s called ‘smartcheck’.
It reads you the checklist via bluetooth to your headset, you can edit it and send to other devices, it reads out altitudes, and so on and so on.
Pretty cool, and miles ahead of my paper version, and lightyears away from the Garmin pilot stuff.
Sorry for the late reply. Somehow missed the conversation here.
If somebody wants the source code, just write me a message.
It was written quick and dirty on a train ride, so don’t expect to much behind it.
Its of course completely free and you can do what ever you want with it – except using it to find a backdoor on my server
@MaggieL, I can’t thank you enough for your source code. I only needed the few lines re the CRC. I found a severe defect in the checklist editor. If you edit the file properties (Edit/File Properties), and leave any of the 5 text fields blank, then upon saving the file, you will never be able to open it again! Once I figured out the cause of my “file corruption”, it was simple to hand-edit it. However, due to the last 4 bytes of the file no longer being valid, I was stuck. Thanks to your sample code, I’m back. I had to write a small java program to read in my edited file (minus the last 4 bytes), generate the secret sauce (last 4 bytes) and append those to the output. I’m not a Scala guy – it took 2 FOR loops to do what your one line of Scala did!
I have reported the defect to Garmin.
Hi there,
I was also trying to edit checklists outside of this pain in the a** garmin editor. Unfortunately I am running Windows 10 and @MaggieL ‘s Code isn’t working due to some encoding issues.
However i’ve found another way to make the code valid again using a simple Hex Editor ( I am using a tool called HxD, its Freeware)
Here are the steps:
1.) Edit your checklist file in your favourite editor, save it. ( I used to start off using a valid file out of the ACE editor)
2.) Load your corrupt checklist file into the HexTool
3.) Edit the first bytes
The first 8 Bytes should be F0 F0 F0 F0 00 01 00 00, If there are any other bytes between them like in my picture, just delete ’em.
You should end up looking something like this.
4.) Jump to the end of the file and delete everything after the last 0D 0A
5.) Select everything and go to Analyse → Checksum, choose user defined CRC and add the settings as shown
If available in your Program you can select CRC-32/JAMCRC Checksum, if not settings are as follows:
Polynom 04C11DB7,
Init FFFFFFFF
RefIn True
RefOut True
XorOut 0
6.) At the very end of the file after the last 0D 0A add the reversed checksum from the bottom of the page
(Bytewise, 1A 2B 3C 4D should then be 4D 3C 2B 1A)
Now save it and you should be able to load it in ACE again.
Cheers,
Yes, Niko, there’s a change to how Java handles default character encoding on Windows 10 that broke my program (It was developed on Windows 8.1).
It’s issue #4 https://github.com/MaggieLeber/checklist/issues/4
Now that I know somebody else is using the code, I’ll make a proper fix a higher priority; haven’t changed my checklists since then!
Here’s a shell command to do what Nico describes in post 27
echo “F0F0F0F0000100000D0A” |xxd -r -p > chklist.ace && cat chklist.txt >> chklist.ace && printf ‘%.8X’ “$((0xffffffff-0x`crc32 chklist.ace`))” | tac -rs .. | xxd -p -r >>chklist.ace
It takes chklist.txt as input and outputs chklist.ace. Chklist.txt should begin with GARMIN… and end with END<CRLF>