uorocketry / rgs Goto Github PK
View Code? Open in Web Editor NEWuORocketry's Ground Station Infrastructure
Home Page: https://uorocketry.ca/rgs/
uORocketry's Ground Station Infrastructure
Home Page: https://uorocketry.ca/rgs/
We would want to have preset layout for each member of the team.
In addition, buttons to restore or add windows to the layout would be neat
(because if you delete a window by accident you're out of luck)
The best way to do it isn't quite straightforward but we could discuss
From this diagram the middle ware server should be independent its API consumer.
Out health tab currently allow us to check if a service is up or not:
But it doesn't quite gives us an in-depth sight on why that is.
eg:
A brief: Unreachable, Not Serving, issue with component, etc message.
It would be interesting if we could see a reason for it and optionally click on each item to see its logs in real time
Add a summary for all critical information to have beside the panels page to be able to monitor the status of different components.
We need to convert the CAP'N PROTO description files eg: test.capnp
to Javascript or Typescript (preferably)
You can find a list of implementations here
Create or modify a component that allow us to see the:
Some work is already on foo
and f/type_migration
The current LogView does not quite suit our needs for inspecting the messages.
raw
collection on the databaseAt the last launch site, I noticed that the rocket was incorrectly rotate by -90 degrees around the UP axis.
Might be an issue with the coordinate system, I think "north" should actually be "west".
This issue is also currently blocked by us not having any boards to verify it with.
The install file on labjack_provider/vendor/labjack/install.sh
currently requires root permissions for Labjack to work.
Context: Labjack hardcodes its logs and configurations to /usr/share/LabJack/
and unfortunately LabJack is not open source
I'd like to find a way to be able to run labjack_provider
without root permissions.
Currently everything is being imported at load time.
Increasing the amount of transfers and amount of Javascript loaded by a lot.
It has a pretty small impact for now but it will definitely add up as we add more libraries and components.
Check this example for how to do it with the import
function: https://svelte.dev/repl/6db375be880441299f7721b54434068f?version=3.38.1
A: If you open the DevTools on the network tab you'll see that there is a bunch of javascript modules that get loaded at the same time.
They are not expected to be load on the client until they are actually used in the page.
Allow Flight director to:
Then:
We could switch to using Esri
Currently RocketStatus is being calculated client side in a component.
This is bad because if we have two or more components or even two people connected we would send repeated data.
A few possible altenatives are:
We are literally doing rocket science!
We need to have at least a few tests e2e
to verify that RGS is accessible, that buttons, panels and most things work for quality assurance when real deal comes.
Add the playwright library
No need to add any specific tests but we would probably need a setup script to also run the ZeroMQ proxy and a mock provider
RGS
We'd like to be able to see the vertical velocity of the rocket.
The implementation and design is up to you.
I'd like to be able to:
Remember, the design is up to you, there is no right or wrong way to do it.
It is currently bound to hydra_provider
, make it standalone
We are literally doing rocket science!
We need to have at least a few unit to verify the behaviors of some components.
Since we are using SvelteKit adding something like Vitest would be pretty optimal.
For more help read: Unit Testing Svelte Components
We want some way to know if the service is alive. What does a healthy service look like? Radio is plugged into USB, dropped messages rate, etc. This endpoint should return 200 if all is good and (pick the appropriate one from the list https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
It's pretty neat!
Things like their AppShell
, Local Storage Store
, Modals
can reduce a lot of the website boilerplates.
We don't quite want to rely on hydra_provider
to send mock messages.
Looking for something that provides:
Implement and allow user to customize their keybinds.
Straight up just copy vscode's keybind.
Eg:
[
{
"key": "shift+1",
"command": "changeLayout",
"args": { "layoutName" : "mapTracker" },
"when": "!modalOpen"
},
{
"key": "shift+k",
"command": "nukeDatabase",
"when": " env === 'development' "
},
{
"key": "`",
"command": "openCommandPallete",
"when": "!modalOpen"
},
]
We can just save it on local storage now and add event listener for each combination.
It's kind of whack at the moment.
Please keep Smart and Dumb components separate.
A component is considered smart if any:
Here is the new intended folder style
If in doubt just have it as a smart component.
If a smart component has a few subcomponents that are also smart, group them in a folder.
Before going v1 we would likely want to have a CI workflow that builds (and optionally creates a releases):
rgs-web
hydra_provider
Click here to learn more about Github Actions
rocket-code-2020
and hydra also have a few examples
Currently the NavBall only displays the current rotation and its not that much precise/visible
Add Gizmos that show
Additionally have labels to the screen (preferably spread out on all corners)
Containing information such as: heading (N/S/E/W), GPS Coords/ miscellaneous positional info
hydra_provider
is currently using a stub implementation for the GRPC server.
We would like to have an exposing API that allow us to:
hydra_provider
(health and status)And optionally a simple UI front-end for it.
It seems that a quite big refactor would have to be made for it to work as the currently hydra_provider
architecture doesn't allow it.
Also make sure to report when was the latest message reported
In the root folder there is a folder called client
with an auto generated .svelte-kit
file.
Is there any reason for this to exist @MarwanMashaly1?
or maybe it was created by accident ๐ค
We need a T- and T+ counter.
Switching from T- to T+ at lift off.
Create a component to be used with our docking layout...
That displays:
These should be similar to the one already in the Recovery page
You may create some mock data on the store.ts
file (there is already an example you can follow)
Currently they're autogenerated.
The downside of that is that there is no tooltip display or obvious way of knowing what a certain label is.
It would be nice if they were more organized and obvious.
Using Threlte makes it easier to create scenes without having to worry about adding/removing or cleaning up elements
Blocked by #77
The RFD 900+ should interject MAVLINK packets about the status of the radio. The proxy needs to handle this so we can measure the strength of the link. This can be added after the mavlink branch is merged.
We would like to have a simple charting utility for things such as real-time graphs
Anything minimal would probably work for now
You can try Billboard.js, Chart.js you can also try D3.js but its a bit more advanced
So far, this is a possible solution but there might be better ways:
https://allartk.github.io/leaflet.offline/
https://github.com/allartk/leaflet.offline/tree/master
Write a new service/app that allow us to interface with LabJack.
Reach @NoahSprenger for more info
The LabJack service should:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.