A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch screens with a resolution of 1024x600 connected to a Raspberry Pi.

Overview

EDStatusPanel

A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch screens with a resolution of 1024x600 connected to a Raspberry Pi.

HORIZONS / ODYSSEY COMPATIBILITY

I have tested the panels in Odyssey and they work as they would in Horizons. Frontier added a second Status Flags section (Flags2) which mostly contains information about on-foot events. The ship and SRV info remained the same, hence no compatibility issues.

QUICK START GUIDE

If you want to hit the ground running:

  • Install XAMPP (Apache Friends) on the computer you are running Elite Dangerous on
  • Download this repository as zip file (click the green "Code" button and Download Zip)
  • Place the content in the the htdocs folder of where you installed XAMPP - for example, C:\xampp\htdocs
  • Rename the folder from "EDStatusPanel-main" to something nicer, say, "ed" or "panel"
  • Open the file "inc.php" in a text editor and adjust the resolution to your screen, also adjust the folder to where your Elite Dangerous Journal files are stored
  • Open the XAMPP control panel through the Start Menu on Windows
  • At the Apache entry, click the "Start" button
  • RUN THE GAME and enter it in any mode you like (doesn't matter if Solo or Open)
  • Open a web browser on any machine (Raspberry Pi, laptop, doesn't matter) and navigate to the IP address of your computer, and the path to the panels, for example: http://192.168.1.46/panel/
  • Select what you want!
  • You can find the IP address of your computer by opening a Command Prompt in Windows and typing "ipconfig"
  • If everything went well, you should now see a live-updating panel. Congrats!

IMPORTANT

Make sure that the path stated in inc.php is accessible by the web server you are putting these files on. Otherwise the monitor won't work.

The file panel.php is the main file to open the status monitor.

Put the browser that displays the panel to full screen mode so that everything aligns perfectly on a 1080p screen.

Obviously, the game needs to run for this to work.

Panels

The top left shows your current location info, including the info for your next jump and if it is a fuel-scoopable star. It includes a galaxy graphic showing Sol's position in blue and your position in red. Further you see your current absolute coordinates. Additionally, the distance to SOL in light years (simple distance formula for 3D vectors).

The top right shows the current state of events. There are 32 labelled indicators, which have been assigned different colors for their purpose. You can change those in the CSS file. I convert the flags of the Status.json and evaluate the state of each byte to make them light up. Further you see your current fuel as well as the distribution of your Pips.

The bottom left is simply a collection of received chat messages, with the latest message on top.

The bottom right is an exploration log of the current session. It shows quite a number of things, such as FSS results, details of scanned orbital bodies... etc. It also shows if a planet has been discovered previously (D), if it has been mapped with the DSS (M) and if it is landable (L). In addition it highlights if a system scan is completed. Further, it lets you know if POI's have been found on the planet, and if so, how many, plus, their names with distance.

Web server

My local installation uses PHP 8.0, may work with 7.x also. I have been told that sometimes there could be a permissions issue on the folder and/or files in the web server, should you see a black page when opening panel.php .

To be more precise, I am running an XAMPP installation on the machine that runs Elite Dangerous.

Raspberry Pi (display only!)

If have added a new file: pi.php . This file can display all parts of the above mentioned panels, however it is split up into the four parts. Please note that this is designed to run on full screen 7-inch-displays with dimensions of 1024 x 600 pixels. This allows for panels to be mounted to your desk for example.

Fuel bars and pips have been adjusted accordingly. The galaxy map has seen a complete refit compared to the four-panel-layout in panel.php . I will eventually merge that code into the normal panel too.

Also, all panels update every two seconds - except the location panel. In order to decrease CPU load, there is a timer in the code which checks every three seconds if you jumped to another system. If so, the map is reloaded.

Every system you visit is recorded in the data/data.json file. So in time, it becomes your own out-of-game journal of systems you have visited, and/or planned to visit.

If you have a route set, it will automatically be displayed in the galaxy map.

While the Location panel only can only display this one page, the other three have links on top to switch between them. The following switches are implemented:

  • pi.php?panel=location - Shows the location panel
  • pi.php?panel=status - The status panel with indicators, fuel, and pips (links on top)
  • pi.php?panel=comms - Chat messages of the session (links on top)
  • pi.php?panel=exp - Exploration data of the session (links on top)

Just to get the obvious out of the way: the Pi needs to have a graphical desktop environment and a browser, such as Firefox (recommended), Chromium, etc. Navigate to the local IP and pi.php with the corresponding switch to see the panel you want.

In my case, I have two identical 7 inch displays connected to the Pi so that I can display the location on the left, and the other panels on the right.

3D galaxy map

For the 3D map to work (which I will implement in the four-view-panel too), I needed to merge nearly everything from another project into this one.

I have made a few changes to the minified JS script in order to ease the CPU usage on the Pi as follows:

  • Instead of 10,000 random star sprites being generated, this number is reduced to 3,500.
  • The scale factor (as it is called in the code) at which the view switches to an empty black view with only a grid has been significantly reduced so that it almost never switches into that view. This is done so that the map basically looks cooler and retains the fog and star effect when zoomed in to a local area

Source of 3D map: https://github.com/gbiobob/ED3D-Galaxy-Map

You might also like...

Utility for authorizing user in a connected app, creating JWT to authenticate against it, and perform a sample callout.

Question: What is this for? Answer: When configuring a Salesforce Connected app to use certificates to authenticate you will use JSON Web Tokens to a

Jun 15, 2022

The Raspberry Pi + OpenScan Pi Shield can be used to control two independent stepper motors and a variety of different cameras

OpenScan2 Overview: The Raspberry Pi + OpenScan Pi Shield can be used to control two independent stepper motors and a variety of different cameras (Pi

Jan 3, 2023

TS Deno Interface to help communicate with the raspberry pi's GPIO pins

Raspberry pi GPIO helpers made for Deno An interface for interacting and reading from the raspberry pi GPIO pins using sysfs. Why? Just for shits and

Dec 21, 2022

Omnichannel Live Chat Widget UI Components offers a re-usable component-based library to help create a custom chat widget that can be connected to the Dynamics 365 Customer Service experience.

Omnichannel Live Chat Widget UI Components @microsoft/omnichannel-chat-widget is a React-based UI component library which allows you to build your own

Dec 15, 2022

An implementation of the ECMA-419 spec on the Raspberry Pi

raspi-419 An implementation of the ECMA-419 spec on the Raspberry Pi Licsense MIT License Copyright (c) Bryan Hughes Permission is hereby granted, fre

Jun 9, 2022

Get a verse(an aya) from the Quran during your coding session 💻 , stay connected with the words of Allah. 🕋

Get a verse(an aya) from the Quran during your coding session 💻 , stay connected with the words of Allah. 🕋

Ayat 📝 Get a verse(an aya) from the Quran during your coding session 💻 stay connected with the words of Allah. 💚 🕋 Release Notes 1.0.0 Get random

Jan 2, 2023

The leaderboard website displays scores submitted by different players. It also allows you to submit your score. I created this project using ES6 concepts. I connected to the Leadboard API service

Leaderboard App The leaderboard website displays scores submitted by different players. It also allows you to submit your score I created this project

Dec 21, 2022

Talk to anyone connected to your network, be it LAN or your hotspot. Doesn't require internet.

Talk to anyone connected to your network, be it LAN or your hotspot. Doesn't require internet.

Apophis CLI to talk to anyone connected to your network, be it LAN or your hotspot. Doesn't require internet. Installation Make sure you have NodeJS (

Oct 16, 2022

StarkNet support extension for VSCode. Visualize StarkNet contracts: view storage variables, external and view functions, and events.

StarkNet support extension for VSCode. Visualize StarkNet contracts: view storage variables, external and view functions, and events.

StarkNet Explorer extension This VSCode extension quickly shows relevant aspects of StarkNet contracts: Storage variables of the current contract, and

Nov 4, 2022
Comments
  • Docker environment

    Docker environment

    I added Docker to your apache and nginx web server solution

    The .Docker contains all the files required by docker-desktop in the Windows operating system

    to work, change .Docker/.env.examples to .Docker/.env and in this file change the path to the ED game saved directory to mount the path in the docker container

    opened by JanoPL 1
  • Just a question if I may.

    Just a question if I may.

    This looks amazing, is there any chance that you will make this usable on android devices?

    P.S. not too familiar with Github so if this is not the place to ask this please forgive me.

    opened by hottheadliberty 0
Owner
marcus-s
I am a software developer, who writes software-independent libraries and apps. Also, I am a video creator who produces professional screencasts on YouTube.
marcus-s
A high-resolution local database that uses precise algorithms to easily record data in local files within a project with persistent JSON and YAML support designed to be easy to set up and use

About A high-resolution local database that uses precise algorithms to easily record data in local files within a project with persistent JSON and YML

Shuruhatik 5 Dec 28, 2022
An Open Source Dev Community for Elite Developers by Ablestate Creatives Ltd.

Ablestate Dev Community Are you looking for a Developer Job in Companies in Europe, Canada and US. Get listed Fork Edit community.json Add your detail

Ablestate 6 Aug 20, 2022
Make the content slide prettily across the screen with variable sizes of scrolling items, in any of four directions, pausing while the mouse is over the marquee, and all with vanilla JavaScript.

TEG Marquee Make the content slide prettily across the screen with variable sizes of scrolling items, in any of four directions, pausing while the mou

Paul B. Joiner 0 Dec 30, 2021
A string of four operations of the library, can solve the js digital calculation accuracy of scientific notation and formatting problems, support for thousands of decimal point formatting output operations

A string of four operations of the library, can solve the js digital calculation accuracy of scientific notation and formatting problems, support for thousands of decimal point formatting output operations

null 10 Apr 6, 2022
caniuse.com but for PHP - a searchable list of new and deprecated features in recent PHP versions

caniphp.com caniphp.com is like caniuse.com but for PHP features. It's a simple search of PHP features that added, deprecated and removed in recent ve

Ross Wintle 95 Dec 25, 2022
This project is designed to store all the daily tasks that need to be done and their status (completed or not), build by JavaScript.

Portfolio In this project I built the Do list project. Built With Major languages: HTML , CSS , javascript Live Demo (if available) Live Demo Link Get

Shaqayq Darwazi 3 Jul 19, 2022
Gatsby-Formik-contact-form-with-backend-panel - Full working contact form with backend GUI panel.

Gatsby minimal starter ?? Quick start Create a Gatsby site. Use the Gatsby CLI to create a new site, specifying the minimal starter. # create a new Ga

Bart 1 Jan 2, 2022
A modern client panel for the Pterodactyl® panel, made by Wrible Development.

Dashboardsy A modern client panel for the Pterodactyl® panel, made by Wrible Development. Support Discord: https://discord.gg/zVcDkSZNu7 Screenshots S

Wrible Development 23 Jan 1, 2023
An open-source boat display cockpit for navigation, speed, heading, and tide tables running on Raspberry Pi and accessible as a webapp through any smartphone.

An open-source boat display cockpit for navigation, speed, heading, and tide tables running on Raspberry Pi and accessible as a webapp through any smartphone

Andy 44 Dec 30, 2022
Cloud function to generate basic icons, splash screens, and favicons.

Example: https://icogen.vercel.app/api/icon?color=white&padding=300&icon_id=1f1f1-1f1fa Can be used in Expo apps via app.json: { "expo": { "icon

Evan Bacon 13 Jan 2, 2023