psas / av3-fc Goto Github PK
View Code? Open in Web Editor NEWEvent driven flight computer for rockets. Flown on L-10 and L-11.
Home Page: http://psas.pdx.edu
Event driven flight computer for rockets. Flown on L-10 and L-11.
Home Page: http://psas.pdx.edu
In the previous iteration the roll control algorithm wiggled the fins back and forth at start up.
We should do something like this as a command.
How do we get WiFI data in the test setup (rocket cart)? If not built with flight tags can we then also pipe the data over the wire network? That way a laptop plugged into the rocket cart can debug/watch data over the wire rather than setting up wireless.
The RNH will be generating launch detect and a bunch of information about power use and batteries. The FCF should be equipped to deal with this.
In the Launch-12 log, the VERS, SEQN, ROLL, and MESG packets had a different timestamp base (about 0x2EFF3C4, but possibly just 0) than packets coming in over ethernet (about 0x6824606CA712). These four messages are generated by the flight computer, and thus had timestamps originating from clock_gettime(CLOCK_MONOTONIC)
, whereas ethernet messages obtained the timestamp from the SO_TIMESTAMPNS
metadata of incoming recvmsg()
packets. We open the socket with setsockopt(s, SOL_SOCKET, SO_TIMESTAMPNS, ...)
, however according to documentation I found, the sub-options of SOF_TIMESTAMPING_RX_HARDWARE | SOF_TIMESTAMPING_RX_SOFTWARE | SOF_TIMESTAMPING_SYS_HARDWARE
are only used if we instead choose socket option SO_TIMESTAMPING
. And in any case apparently none of these use the same time-base as CLOCK_MONOTONIC; they either use standard system time or an ethernet card clock.
Also, since these were on different time bases, our policy of subtracting a monotonic start time from the ethernet packet timestamp in to_psas_time()
was probably useless.
The FCF isn't actually specific to AV3. The name should reflect that.
And possibly apogee detect, so that the roll system doesn't stay on during decent and more importantly the ground.
How much can we guarantee latency?
Need to recreate a roll control implementation for the FCF.
Found some spelling and grammar issues.
See line 142 of logger.c: message_header header = { .ID="SEQN", .timestamp={0,0,0,0,0,0}, .data_length=htons(4) };
.timesamp shouldn't be all 0s.
RocketNet devices will implement separate error sockets to send errors to the flight computer. The FC should know what to do with this.
I'm going through the list of projects on the PSAS website, making a list of the active/old projects. Is this still a thing? Is it going on LV3? It hasn't been pushed to in like 2 years.
Old Venus 6 structures (for message A8) had elements that were all two times too large, so it was obviously untested. Write code to split and verify GPS binary packets. Message tags are of form V8xx, where xx is the Venus hex packet ID.
Fix psas_packet and telemetry viewer to match.
GPS generates a lot of data, we only really care about it during launch. We should have some way of limiting the recording of it, for example only recording when the FC is armed.
We should at least collect CPU temperature data, are there other things that we want? This should be a module in the FCF.
The Servo should turn off after the flight. The ascent can never be longer than 45 seconds.
They do strange things and could use a rewrite.
How do we test that the fin servo comes on successfully in the field?
All PSAS Data types now have sequence counters to indicate things like UDP packet loss. The FCF should know what to do with them.
We're unlikely to have hardware launch detect, so it needs to be implemented as looking for high g's while in ARM state.
If g > threshold and ARM == true, then 'launch detect'
We expect threshold to be around 4 g 'up'. No debounce.
Debug: There also needs to be a debug backdoor to trigger it for testing.
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.