In-Development StatusDisplay - status.json / journal display and surface navigation assistant.

Robert Maynard

Volunteer Moderator
Is there a way to edit the Grid0 Settings elements outside of the GUI? I am finding it really painful to go through the drop downs and alter the stuff I want. It would be nice if you could use the "P codes" in an excel sheet and save it as a CSV and "import" the layout. I totally get the dropdowns, although it would be nice if they were just text boxes and you could type the "P codes" in yourself. The only other thing would be a legends that tells you what codes are available with a description.
It would be possible - there are two lines of the same length in the INI file where the sixteen digit hexadecimal number immediately after "SD:" ends in "2" - these are the lines that define the panel configuration for Grid0. The last "chunk" of each line is composed of 72 pairs of Base64 digits, totaling 144 panel-to-element assignments for the 12x12 panel array in the grid. These could be changed outside of the app to change Grid0.

A list of panels is available using the "Buttons & Panels" button in the "Data Dump" field of the options dialog in the app - this writes a "ButtonsAndPanels.txt" file to the directory where the app's executable and INI file are stored. The number internally associated with each panel is not the "P.###" code (which is effectively the position of the panel in the list of panels) rather the "[####]" number where the hashes are the number of the panel used internally in decimal form. This number is in the range 2560 to 3839. To change any element in the grid the Base64 pair in the desired position should be changed to represent the number of the desired panel.
 
Last edited:
It would be possible - there are two lines of the same length in the INI file where the sixteen digit hexadecimal number immediately after "SD:" ends in "2" - these are the lines that define the panel configuration for Grid0. The last "chunk" of each line is composed of 72 pairs of Base64 digits, totaling 144 panel-to-element assignments for the 12x12 panel array in the grid. These could be changed outside of the app to change Grid0.

A list of panels is available using the "Buttons & Panels" button in the "Data Dump" field of the options dialog in the app - this writes a "ButtonsAndPanels.txt" file to the directory where the app's executable and INI file are stored. The number internally associated with each panel is not the "P.###" code (which is effectively the position of the panel in the list of panels) rather the "[####]" number where the hashes are the number of the panel used internally in decimal form. This number is in the range 2560 to 3839. To change any element in the grid the Base64 pair in the desired position should be changed to represent the number of the desired panel.
You wouldn't have a list of the combo box drop down list with the Base64 codes to match them would you? :) (I have started making one of my own, but I realize I might be duplicating effort...)

Totally different topic, why are you using Base64, Hexadecimal and Decimal codes? Wouldn't sticking with one or the other simplify things? In my head I assume the answer has to do with the fact that this program is sending to the "little displays" over USB and that you have to send the right code to make something work the way you want it to. But I am curious as to whether or not I am right.
 

Robert Maynard

Volunteer Moderator
You wouldn't have a list of the combo box drop down list with the Base64 codes to match them would you? :) (I have started making one of my own, but I realize I might be duplicating effort...)
Attached - the Data Dump button will (from the next Beta) create a file with both decimal and Base64 representations of the internal designation of each button and panel.
Totally different topic, why are you using Base64, Hexadecimal and Decimal codes? Wouldn't sticking with one or the other simplify things? In my head I assume the answer has to do with the fact that this program is sending to the "little displays" over USB and that you have to send the right code to make something work the way you want it to. But I am curious as to whether or not I am right.
Base64 for brevity in the INI file, i.e. the numeric range 0 to 4095 is represented by two characters; hex is legacy - all settings were stored as hex in the INI file previously before the change of some of them to Base64, decimal for human readability in the dropdowns. All three can represent the same numbers - the choice as to which is used relates to the purpose.
 

Attachments

  • ButtonsAndPanels.txt
    23.5 KB · Views: 144
Last edited:
Attached - the Data Dump button will (from the next Beta) create a file with both decimal and Base64 representations of the internal designation of each button and panel.

Base64 for brevity in the INI file, i.e. the numeric range 0 to 4095 is represented by two characters; hex is legacy - all settings were stored as hex in the INI file previously before the change of some of them to Base64, decimal for human readability in the dropdowns. All three can represent the same numbers - the choice as to which is used relates to the purpose.
That's beautiful. Thanks!
 
The "Surface Track Display"panel (currently "P.00C") shows the track of the SRV or ship when body positional data is available.
This is very cool~! Just a bit of noob question regarding surface tracking.

I should manually add my coordinates (and heading) in setting window everytime I fired up the display? or is there any key binding I can use/set to update my current coordinates??

The tracking seems off after a few turns in the SRV, so I think there must be something I have missed or misused.

Thank you for the great tool~!!!
 

Robert Maynard

Volunteer Moderator
I should manually add my coordinates (and heading) in setting window everytime I fired up the display? or is there any key binding I can use/set to update my current coordinates??
Yes - or you could add a POI to Navigation.json (optional file contained in the directory where the executable is) and set it as your destination each time you startup StatusDisplay.
The tracking seems off after a few turns in the SRV, so I think there must be something I have missed or misused.
Could you please provide more detail as to how the tracking "seems off"? Thanks.
Thank you for the great tool~!!!
Glad to hear that it is of use to you. :)
 
Hi all,
me again...with another strange thing.

I bought a Intel NUC for running StatusDisplay on a dedicated Mini-PC.
Unfortunately StatusDisplay is not starting/running on a Intel NUC with fresh installed Windows 10.

Error-Message in eventvwr is saying:
Windows not able to open file " "

Normaly I can start the copied StatusDisplay tool on any Windows-PC except Intel NUC
 

Attachments

  • StatusDisplay-eventvwr-1.PNG
    StatusDisplay-eventvwr-1.PNG
    44 KB · Views: 128
  • StatusDisplay-eventvwr-2.PNG
    StatusDisplay-eventvwr-2.PNG
    64.6 KB · Views: 127

Robert Maynard

Volunteer Moderator
Hi all,
me again...with another strange thing.

I bought a Intel NUC for running StatusDisplay on a dedicated Mini-PC.
Unfortunately StatusDisplay is not starting/running on a Intel NUC with fresh installed Windows 10.

Error-Message in eventvwr is saying:
Windows not able to open file " "

Normaly I can start the copied StatusDisplay tool on any Windows-PC except Intel NUC
Which CPU does the NUC have, and is the version of Windows 10 64-Bit?
 
Journal is on a maped share (working on a non-NUC-System)
Ancillary JSON is in the same folder as the .exe
Copied INI-file shows
[StatusDisplay]
SD:0000000000000371;Y:

BUT....... your Programm is working when just copy the License-folder, StatusDisplay.exe and Navigation.json to a non-Intel-NUC.
StatusDisplay.ini will be generated at start.

But on this bloody NUC the App is not starting.
No matter what I'm trying.

Copied License-folder, StatusDisplay.exe and Navigation.json (without any INI-File) to my Business-Laptop and to an old but freshed Installed normal PC.
StatusDisplay is starting and fresh INI-File is generated.
 
I'll need to experiment more, like I said, it could be I have misused it or actually myself get lost in orientation 🤦‍♀️ 🤷‍♀️ . Will come back with more details if it is really an issue.

Thanks again. Orzz
All good now its seems, apparently I have entered ship heading instead of "Course on ground" to the nav data, hence messing up the tracking.

1642429124266.jpeg
 

Robert Maynard

Volunteer Moderator
Journal is on a maped share (working on a non-NUC-System)
Ancillary JSON is in the same folder as the .exe
Copied INI-file shows
[StatusDisplay]
SD:0000000000000371;Y:

BUT....... your Programm is working when just copy the License-folder, StatusDisplay.exe and Navigation.json to a non-Intel-NUC.
StatusDisplay.ini will be generated at start.

But on this bloody NUC the App is not starting.
No matter what I'm trying.

Copied License-folder, StatusDisplay.exe and Navigation.json (without any INI-File) to my Business-Laptop and to an old but freshed Installed normal PC.
StatusDisplay is starting and fresh INI-File is generated.
Odd.

Does the user account running the app have write permission in the folder where the app is stored?
 
Good morning,
yes, the User have write permission to the folder where the app is stored.
It doesn't matter where the app is stored....... I'm going mad.

My idea was to use the NUC that needs less power dedicated for StatusDisplay.
So the main Gaming PC does not have to control the two additional screens.

I think I will disassamble the old PC (StatusDisplay app is working on with shared Jornal-Folder) and install it in the right module below the Joystick/Mouse.

....and of course I have to glue the black film, hide the cables and generally tide up a bit.
 
Soooo....old PC has been mounted on the side-wood and will be hide behind left-side after everything (DisplayStatus) is working.
 

Attachments

  • IMG_0173-1.jpg
    IMG_0173-1.jpg
    266.1 KB · Views: 140
  • IMG_0174-1.jpg
    IMG_0174-1.jpg
    249.5 KB · Views: 133
So far so good. I have managed to create a database that lists the panel parts and gives a graphic representation of the chosen plain panel part.

1643098728163.png


1643098757879.png


The next step is figuring out a way to make a "builder" tool that will generate the lines for the panel parts I choose so I can insert it into the ini file!
 
Back
Top Bottom