Giter VIP home page Giter VIP logo

pms67 / hadesfcs Goto Github PK

View Code? Open in Web Editor NEW
714.0 714.0 246.0 137.95 MB

Complete flight control system designed from scratch. Hardware designed with KiCad.

Home Page: http://philsal.co.uk

License: BSD 3-Clause "New" or "Revised" License

C 77.03% C++ 0.72% C# 14.94% ShaderLab 0.02% Objective-C 0.08% HLSL 0.01% MATLAB 0.29% Smalltalk 0.01% Batchfile 0.01% Makefile 1.92% HTML 1.75% CSS 0.28% JavaScript 2.58% Python 0.01% Assembly 0.35%

hadesfcs's People

Contributors

pms67 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hadesfcs's Issues

About OSHWA Certification

Hi Philip,

I've seen your post on reddit and decided to suggest your project to be certified open source hardware: https://certification.oshwa.org/

However, your project is distributed under BSD 3-Clause License which might not serve you (and others) well in terms of hardware.

Because this is flight controller system, it might be a part of a bigger system (drone itself). I'd like to suggest you CERN Open Hardware License v2 which was designed with hardware in mind. There are three versions of the license and it's not that easy to find one which might suit you well. Rationale document helps here.

CMake as build system

Hello,

is there an interest in moving the C/C++ projects to CMake?
At the moment there are Eclipse and Visual Studio based projects.

For my private embedded software projects I switched to CMake some time ago and it opens the door for other IDEs on a variety of platforms.

Did you ever spend time thinking about it or would you be open to accept PR's?

Thanks for making your interesting project open source with all the documentation and videos on Youtube.

Low pass filter derivation

Could you please possibly explain your code for the low pass filter here

I can see it's a bessel 2nd order but I'm not quite sure I understand the derivation with the denonimator especially why you're multiplying the centre frequency by the sampleTime.

50 ohm impedance trace

First of all, many thanks for sharing these awesome practical projects with detailed explanation too!!

I have a question please, according the YouTube video (https://youtu.be/0fteCxn5XXA?t=675), you explained that the trace width of the RF trace should be 0.3mm. But once I downloaded the project files then open the PCB with KiCad, I found that the trace width is 0.19722mm. Which one is correct?
Another issue, according to the following YouTube video (https://youtu.be/14_jh3nLSsU?t=1949) the ground plane should be removed around the trace, so why you keep it in this design?

2021-03-05 19_05_51-Window

FIRWinSyncDesign, Filter data Exports Broken for some countries/systems

Hello, I found that Coefficients, Time Domain and Frequency Domain Data exports are broken for FIRWinSyncDesign.

Problem:
In some countries, a comma "," is used instead of the dot "." as a decimal separator, so the exported list of coefficients is unusable:

float coeff[] = {0,0005084f,0,0008706f,0,0000000f,-0,0011129f,-0,0008133f,0,0009761f, [...] -0,0008133f,-0,0011129f,0,0000000f,0,0008706f};

The problem is in frmMain.cs.

Floats are converted to string like in this example:
data[2] = "float coeff[] = {" + windowedImpulseResponse[0].ToString("F7") + "f";

float.ToString() Converts a float to string, but when executed on different systems the output can be different, for example:

  • 1.2321
  • 1,2321

Suggested Solution:
What I did to fix this little inconvenence was to define the culture of the conversion ("en-US", that uses "." as decimal separator):
CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US");

and then convert all the floats to string specifying the culture to be used, for example:
data[2] = "float coeff[] = {" + windowedImpulseResponse[0].ToString("F7", culture) + "f";

By doing this, the resulting export is as expected:

float coeff[] = {0.0005084f,0.0008706f,0.0000000f,-0.0011129f,-0.0008133f,0.0009761f, [...] -0.0008133f,-0.0011129f,0.0000000f,0.0008706f};

P.S.:
Thanks for sharing these projects and for the very very clear explanations in the videos.
I am not very familiar with git, so I opened this issue instead of contributing directly.

Can it be applied in Quadcopter ?

Hi, am new to pcb design and an wishing to make a quadcopter to learn. Can your design be used in a quadcopter? And if not, would you please give me an hint on what to do.

H7 based micro variant?

Hi! First off I would like to say beautiful designs, I'm not much of a hardware designer but they sure do look beautiful.
I was wondering if an H7 based micro version would be possible? I'm trying to fit a F7/H7 inside a 5" racing drone to communicate over SPI to a AI based depth sensing camera but the F4 likely won't have enough processing power for that.

I have been looking through the designs and I think I could eventually get something cobbled together but this would be my first ever board and since you already have these two variants I thought it would be worthwhile asking you first :)

Please let me know what you think!

Thanks,
Connor

Regarding the firmware upload

I saw the whole respiratory, I am little confusion. There are so many folders and files , if some one wants to upload the firmware to the flight control board then which specific folder need to be opened in stm32 IDE for upload it to the board. Also the flight control has 2 Mcus(microcontroller) which again make me confusion that which firmware to which mcu. please help in that way or else you can make a separate video to mention how to upload the firmware to the board and other system specific things.

Thanks and regards
Dhrutidhara Behera

Bug in Communication/UAVDataLink

In UAVDataLink.h, decodeBuffer is an uninitialized pointer which is passed to UAVDataLink_decodeCOBS, which uses this pointer like an array.

uint8_t UAVDataLink_unpack(uint8_t *receivedPacket, uint8_t receivedPacketLength, uint8_t *packetHeader, uint8_t *payload) {
    /* Decode COBS framing */
    uint8_t *decodeBuffer;
    UAVDataLink_decodeCOBS(receivedPacket, receivedPacketLength, decodeBuffer);
    ...
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.