GithubHelp home page GithubHelp logo

cmengler / pidflight-lap-firmware Goto Github PK

View Code? Open in Web Editor NEW
10.0 6.0 7.0 21 KB

PIDflight Lap Timing device firmware

License: GNU General Public License v3.0

C 53.89% C++ 45.41% Python 0.70%
pidflight laptiming vtx arduino rx5808 firmware pidflightlap

pidflight-lap-firmware's Introduction

PIDflight Lap Firmware

PIDflight

PIDflight Lap is a video transmitter (VTx) lap timing solution for individual pilots and multi-pilot support for race meets of up to 8 pilots.

This is the firmware for the PIDflight Lap timing device.

The PIDflight Lap firmware is available for the original PIDflight Lap schematic, EasyRaceLapTimer PocketEdition and Chorus RF Lap Timer.

  • PIDflight Lap: pidflightlap_[VERSION]_PDFL.hex
  • EasyRaceLapTimer Pocket Edition: pidflightlap_[VERSION]_ERLT.hex
  • Chorus RF: pidflightlap_[VERSION]_CHRF.hex

Build via Arduino IDE

  1. Download and install Arduino IDE
  2. Open the pidflight_lap.ino file with Arduino IDE
  3. Select your Board (e.g. Arduino Nano) and Port from the Tools file menu
  4. Select Upload from the Sketch file menu

Build via PlatformIO

  1. Install PlatformIO: pip install -U platformio
  2. Clean build directory: platformio run --target clean
  3. Build firmware: platformio run --environment pdfl
  4. Upload to Arduino: platformio run --environment pdfl -t upload

Firmware build and release

Update the version directive in the [release] section.

[release]
version = 2.2.0

Run: platformio run to build all variants of the firmware.

Build or release firmware for one specific schematic

  • PIDflight Lap use platformio run --environment pdfl
  • EasyRaceLapTimer Pocket Edition use platformio run --environment erlt
  • Chorus RF use platformio run --environment chrf

Support

PIDflight Lap firmware and cross-platform GUI is provided free of charge to all users.

If you find PIDflight Lap useful and would like to support continued development efforts please feel free to donate to this project or purchase the premium edition of the PIDflight Lap Android app, any donation or purchase is appreciated. Thank you! :)

Donate to PIDflight Lap

Get it on Google Play

pidflight-lap-firmware's People

Contributors

cmengler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pidflight-lap-firmware's Issues

API details for the serial?

I think a scanner would be awesome, like: turn drone off, press next, turn drone on, press next> drone found on: xx type of thing. Instead of reading the code, do you have some documentation on the serial commands?

USB Works but Bluetooth stays at "inactive"

When connecting my DIY Lap Timer via USB it works flawlessly.
I now attached a HC-05 (06 was not available around me :/) to D6 and D7 (also tried TX and RX pins).
I am able to connect to it but then the app is stuck at "inactive" and is not showing any devices.

And yes i did configure the module with the correspinding AT commands so that it is now in slave mode with 115200 Baudrate.

I am running a forked version of the firmware because i wanted to use a pcb i already had so i needed to change some pins but apart from that its stock.

my changes are only inside const.h where i changed the pin mapping to the following (i am uploading using the "default" configuration)

// Enable buzzer
#if defined(PDFL)
  #define BUZZER
#endif

// Enable software serial
#if defined(ERLT)
  #define SOFTWARE_SERIAL
#endif

// Pin outs
#define PIN_SPI_DATA          11
#define PIN_SLAVE_SELECT      10
#define PIN_SPI_CLOCK         13
#if defined(ERLT)
  #define PIN_RSSI            A7
  #define PIN_SOFTSERIAL_RX   6
  #define PIN_SOFTSERIAL_TX   7
#elif defined(CHRF)
  #define PIN_RSSI            A3
#else
  #define PIN_BUZZER          6
  #define PIN_RSSI            A0
#endif

so now i have SPI Data on 11, Slave Select on 10, SPI Clock on 13 and RSSI on A0

Attempting the Eried fork for ESP32 and DJI air unit, having mixed readings

Great project you got here, I hope you still got it in mind. I've followed your buildout with a similar esp32 board (TTGO LORA) and have gotten readings from my DJI air unit, but they are all over the place. It may be because the DJI uses frequency ranges instead of a static figure, or maybe because they send and receive, I haven't fully figured it out yet. The app doesn't match the DJI transmission frequencies 100% which may also be the issue. The lap timer certainly notices when I turn on the unit, but seems to move rather randomly and frequently changes the RSSI regardless of distance from the unit. I apologize if this is the wrong place to look for help with this. Thanks for any consideration.

support for ESP8266

Hi,

I am thinking on porting this to the esp8266, I just have 2 questions:

  1. How is the banggood wifi module works? (i.e. just emulates a local serial RX TX via tcp, etc)
  2. Is it the SPI hack necesary for the RX? why not just use the 3 bit combinations directly?

PS: I know both questions might be answered after digging deeper but any help will make that research shorter

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.