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/
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)
At 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.
Write a new service/app that allow us to interface with LabJack.
Reach @NoahSprenger for more info
The LabJack service should:
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.
Some work is already on foo
and f/type_migration
Blocked by #77
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 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
Create or modify a component that allow us to see the:
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
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.
Using Threlte makes it easier to create scenes without having to worry about adding/removing or cleaning up elements
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
We don't quite want to rely on hydra_provider
to send mock messages.
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)
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.
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
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.
Add a summary for all critical information to have beside the panels page to be able to monitor the status of different components.
It's pretty neat!
Things like their AppShell
, Local Storage Store
, Modals
can reduce a lot of the website boilerplates.
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.
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.
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.
It is currently bound to hydra_provider
, make it standalone
Looking for something that provides:
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 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 could switch to using Esri
From this diagram the middle ware server should be independent its API consumer.
The current LogView does not quite suit our needs for inspecting the messages.
raw
collection on the databaseOut 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
Allow Flight director to:
Then:
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
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.
Also make sure to report when was the latest message reported
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
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
We need a T- and T+ counter.
Switching from T- to T+ at lift off.
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.