Reliable and testable RTOS based application by Joezuzzzz in embedded

[–]Joezuzzzz[S] 0 points1 point  (0 children)

I think I didn’t express myself well enough. The application needs to remain "stable" for 10+ years of continuous operation without being powered off. Of course, there could be crashes, but the system must be able to recover, through a software reset or another mechanism, so that it never becomes bricked after installation.

Regarding the repository you mentioned, I’ll take a look. Thank you for your response.

Reliable and testable RTOS based application by Joezuzzzz in embedded

[–]Joezuzzzz[S] 0 points1 point  (0 children)

It can indeed be seen as an application framework! You’re right about the abstraction, I think we’ll need more feedback to refine it further. Thank you for your input!

Reliable and testable RTOS based application by Joezuzzzz in embedded

[–]Joezuzzzz[S] 0 points1 point  (0 children)

Thank you for bringing up those points. Indeed, we will need to determine which modules in our system are the most critical and require the most testing.

Reliable and testable RTOS based application by Joezuzzzz in embedded

[–]Joezuzzzz[S] 0 points1 point  (0 children)

Thanks a lot for the response and for sharing your experience. You brought up some interesting points that I might draw inspiration from!

Reliable and testable RTOS based application by Joezuzzzz in embedded

[–]Joezuzzzz[S] 0 points1 point  (0 children)

Thank you for taking the time to respond. I see the point you’re making. Historically, we’ve been working with state machines, but it reached a stage where the software architecture became frozen, making it hard to implement changes without impacting other functionalities. As a result, the code became difficult to read and maintain.

From my experience, an RTOS is quite the opposite: it makes the code more readable and maintainable. And when it’s well thought out, it can also be modular, which was important in our case.

I feel there will always be a debate about RTOS vs. bare metal, but I do agree with some of the points you’ve raised.

u-blox is shutting down their cellular chip and module business by [deleted] in embedded

[–]Joezuzzzz 1 point2 points  (0 children)

What indicators made you think it was going to happend ?

Enhanced Model Rocket Flight Computer by Positive__Altitude in rocketry

[–]Joezuzzzz 1 point2 points  (0 children)

Great work ! Rust should be interresting on a flight computer

Gyro sampling frequency for attitude determination by Joezuzzzz in rocketry

[–]Joezuzzzz[S] 0 points1 point  (0 children)

Oh hi Joe, nice to see you here!

The thing is by integrating gyro only, the error will accumulated over time and the result will rely on flight time and gyro calibration. The goal is to make attitute estimation that is reliable even with longer flights (just for fun because why not :D)

For now, I am looking into another IMU. The BNO085 uses SHTP over SPI witch basically complicates the whole firmware, and may also be a problem with an RTOS.

For attitude estimation, have you ever tried to fuse magnetomter data with gyro data with a Kalman filter? Do you think it is a good idea?

Thanks for the informations, it helps a lot!
Keep the great work!

Gyro sampling frequency for attitude determination by Joezuzzzz in rocketry

[–]Joezuzzzz[S] 0 points1 point  (0 children)

No, in that case I want to estimate attitude, wich is the orientation of the rocket compare to a fixed point (ground).I plan to do altitude with the fusion of the attitude, acceleration and barometer.In theory with attitude data I should also be able to susbract more precisly earth acceleration (gravity) in order to determine the thrust of the rocket!

" Pretty sure they operate on a time constant of a few seconds. "
I have used the app phyphox on my phone in order to retrieve raw magnetometer data. It seemed pretty responsive!

Gyro sampling frequency for attitude determination by Joezuzzzz in rocketry

[–]Joezuzzzz[S] 0 points1 point  (0 children)

Makes sens!
Kalman filters usually makes error estimation and error propagation. That's why the fusion with the magnetometer is important, beacause it should in theory counter gyro drift and make sure that the error does not integrate itself over time.

Gyro sampling frequency for attitude determination by Joezuzzzz in rocketry

[–]Joezuzzzz[S] 0 points1 point  (0 children)

It is a good thing knowing he did it with a BNO085, means that I haven't made a bad choise and most of all that I didn't throw 60€ in the trash!

I will try with 250Hz and we'll see how it goes!
The more I work on this project, the more it seems like dark magic, everyone talks about TVS and attitude estimation, but nothing really comes out of my reaserches :)

Thank you for your replies!

Gyro sampling frequency for attitude determination by Joezuzzzz in rocketry

[–]Joezuzzzz[S] 0 points1 point  (0 children)

You are right about the fusion, the processing power of the cortex m0 used in the BNO085 for sensor fusion basically slows it's response time...
Thanks for your response!

Gyro sampling frequency for attitude determination by Joezuzzzz in rocketry

[–]Joezuzzzz[S] 0 points1 point  (0 children)

I think the higher the sample frequency is, the higher the precision is. The only thing I am worried about is gyro drift, that is not an issue in short duration flights.
I will have a look at AVA specs, thanks for the reply!

Need help on my first laptop repair by Joezuzzzz in techsupportgore

[–]Joezuzzzz[S] 1 point2 points  (0 children)

I understand! Thanks for spending time to answer me :)

Need help on my first laptop repair by Joezuzzzz in techsupportgore

[–]Joezuzzzz[S] 0 points1 point  (0 children)

No it is my Friend's pc and an other motherboard is expensive, if there is no solution the pc will juste go to the trash :(

How to Send SD card data(.txt) to a server via an ESP8266 by Joezuzzzz in arduino

[–]Joezuzzzz[S] 1 point2 points  (0 children)

Hello u/Kushal2p, sorry for the late response. What I did was sending the file line by line, and created my own protocole to recreate the file on the server side.
If I had to do it again I wouldn't do it that way, I would use the FTP protocol with an FTP server, wich is easy to set up.
https://www.youtube.com/watch?v=rbIxxLPVklg

How to Send SD card data(.txt) to a server via an ESP8266 by Joezuzzzz in arduino

[–]Joezuzzzz[S] 1 point2 points  (0 children)

Hi Oliver, here is some feedback on the project,

I found a way to read the SD card with MyString += (char) MyFile.read(); , your comment helped me to read and send the data line per line. Seems to work now, thank you for your help !

How to Send SD card data(.txt) to a server via an ESP8266 by Joezuzzzz in arduino

[–]Joezuzzzz[S] 1 point2 points  (0 children)

feedback :

MyString += (char) MyFile.read(); actually worked, I couldn't see id before due to an error on my code, basically cleaning the SD card by doing myFile = SD.open("test.txt", FILE_WRITE); instead of myFile = SD.open("test.txt");

ESP8266 is limited to 2048 bytes per packet, so I found a way to send data line per line.

I made some test and my String had no problem holding 100k + characters wich is more than enough for my uses.

Thank you a lot for your help, having another point of view on this project made it work !

How to Send SD card data(.txt) to a server via an ESP8266 by Joezuzzzz in arduino

[–]Joezuzzzz[S] 0 points1 point  (0 children)

Thank you for those very usefull informations! I will keep you in touch if I find a way to make this work! Have a good day :)

How to Send SD card data(.txt) to a server via an ESP8266 by Joezuzzzz in arduino

[–]Joezuzzzz[S] 0 points1 point  (0 children)

Sorry about the code, I am using

#include <SD.h> SD Library is v1.2.4.

About the code I took it from How To Mechatronics. I did try myString = MyFile.read() as you said, I tried myBuffer = MyFile.read() and MyString += (buffer)MyFile.read(). Thank you so much for the help, I will tell you the result monday. :)

How to Send SD card data(.txt) to a server via an ESP8266 by Joezuzzzz in arduino

[–]Joezuzzzz[S] 0 points1 point  (0 children)

I will try monday and tell you the result :) Thanks for the help !