npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

angryeyes-fpv-pilot

v0.1.0

Published

The best FPV pilot in the world

Downloads

2

Readme

Rasbery PI 5 preparing

Initial configuration of Rasberry PI 5:

  • Create the image with latest version of RasberryPI OS with enabled SSH and configured WiFi
  • Insert the SD to RPI and connect to the power supply at least 3A 5V
  • After successful loading of OS scane your local network IPs and find the RPI's one
  • Connet to RPI by SSH and check everything works properly
  • by sudo raspi-config and enable VNC

Configuration of UARTs:

  • Update Rasberry PI5 kernel by command sudo rpi-update y and reboot
  • Enable UARTs by adding into the file /boot/firmware/config.txt the next lines:
    [all]
    
    enable_uart=1
    dtoverlay=uart1-pi5
    dtoverlay=uart2-pi5
    dtoverlay=uart3-pi5
    dtoverlay=uart4-pi5
  • Reboot the device sudo reboot
  • Check if UARTs are ready:
    pi@pi:~ $ pinctrl 0-15
    0: ip    pu | hi // ID_SD/GPIO0 = input
    1: ip    pu | hi // ID_SC/GPIO1 = input
    2: no    pu | -- // PIN3/GPIO2 = none
    3: no    pu | -- // PIN5/GPIO3 = none
    4: no    pu | -- // PIN7/GPIO4 = none
    5: no    pu | -- // PIN29/GPIO5 = none
    6: no    pu | -- // PIN31/GPIO6 = none
    7: no    pu | -- // PIN26/GPIO7 = none
    8: a2    pn | hi // PIN24/GPIO8 = TXD3
    9: a2    pu | hi // PIN21/GPIO9 = RXD3
    10: no    pd | -- // PIN19/GPIO10 = none
    11: no    pd | -- // PIN23/GPIO11 = none
    12: a2    pn | hi // PIN32/GPIO12 = TXD4
    13: a2    pu | hi // PIN33/GPIO13 = RXD4
    14: a4    pn | hi // PIN8/GPIO14 = TXD0
    15: a4    pu | hi // PIN10/GPIO15 = RXD0
    
  • If UARTs are not shown you can debug it by commands:

Check if any issues during the boot

dmesg | grep ttyAMA

Expected output

[    0.000000] Kernel command line: reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1  smsc95xx.macaddr=D8:3A:DD:F5:5E:34 vc_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x40000000  console=ttyAMA10,115200 console=tty1 root=PARTUUID=a492c4db-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=PL
[    0.010368] 107d001000.serial: ttyAMA10 at MMIO 0x107d001000 (irq = 15, base_baud = 0) is a PL011 rev2
[    0.010400] printk: console [ttyAMA10] enabled
[    0.533487] 1f00030000.serial: ttyAMA0 at MMIO 0x1f00030000 (irq = 125, base_baud = 0) is a PL011 AXI
[    0.533658] 1f0003c000.serial: ttyAMA3 at MMIO 0x1f0003c000 (irq = 144, base_baud = 0) is a PL011 AXI
[    0.533792] 1f00040000.serial: ttyAMA4 at MMIO 0x1f00040000 (irq = 145, base_baud = 0) is a PL011 AXI

Check if UARTs enabled in boot configuration

ls -l /dev/ttyAMA*

Expected output

pi@pi:~ $ ls -l /dev/ttyAMA*
crw-rw---- 1 root dialout 204, 65 Apr  9 11:17 /dev/ttyAMA1
crw-rw---- 1 root dialout 204, 74 Apr  9 11:34 /dev/ttyAMA10
crw-rw---- 1 root dialout 204, 66 Apr  9 11:17 /dev/ttyAMA2
crw-rw---- 1 root dialout 204, 67 Apr  9 11:17 /dev/ttyAMA3
crw-rw---- 1 root dialout 204, 68 Apr  9 11:17 /dev/ttyAMA4

!!! Important !!! It should be dialout type

Check if CPU is right version

lscpu

Expected output

Architecture:            aarch64
  CPU op-mode(s):        32-bit, 64-bit
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Vendor ID:               ARM
  Model name:            Cortex-A76
    Model:               1
    Thread(s) per core:  1
    Core(s) per cluster: 4
....

Check if UARTs downloaded properly

dtoverlay -a | grep uart

Expected output

....
uart0
uart0-pi5
uart1
uart1-pi5
uart2
uart2-pi5
uart3
uart3-pi5
uart4
uart4-pi5
uart5
...

Check the UART by making shorcut from TX to RX and running minicom. You should see back all the text you are typing

sudo apt install minicom
minicom --device /dev/ttyAMA2 --baudrate 420000

To back up Rasberry PI image

# To create a backup image from SD card
sudo dd if=/dev/mmcblk0 | gzip -c  > /media/pi/hh/angryeyes.img.gz
# To write the image to SD card
gzip -dc ./angryeyes.img.gz | sudo dd bs=4M of=/dev/sda status=progress

Scheme to connect hardware

RPI5 + Level Converter + RX

Python application running

Application runs automatically during the start To enable in the next code should be added to nano ~/.config/wayfire.ini

.....
[autostart]
influx = sudo influxd > /dev/null 2>&1 &
autopilot = lxterminal -e bash /python/starter.sh

After reboot the terminal should be running and capture and autopilot should react on ELRS TX switchs

Video connetions set up Analog camera -> USB -> miniHDMI -> Analog FC

The scheme to connect is:

Video Connection Scheme

After this the video will be sent to Flight controller, which will add OSD information. Finally, you will see on your goggles video from Rassberry Pi 5 + OSD information what is very convenient.

Links to hardware:

Installing and configuring IfluxDB

InfluxDB can write 1000s of metrics per second on Raspberry Pi using 0.7% CPU and 100M memory.

IMPORTANT InfluxDb should have version 1, not 2. if you install influxdb2, it would start asking AUTH, we don't need it now.

This is how it could be installed

curl https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null

echo "deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdb.list

sudo apt update

sudo apt install influxdb

pip3 install influxdb --break-system-packages

Before starting roller, make sure that influxdb is started

sudo influxd &

It might write a qute some logs to stdout, so this could be solved with

sudo influxd > /dev/null 2>&1 &

Influx backup

Create a backup in the portable format

influxd backup -portable /path/to/backup-destination

Restore from a portable backup

influxd restore -portable /path/to/backup-destination

Grafana

Installing Grafana on Windows

  1. Download the latest stable version of Grafana from the official Grafana website: https://grafana.com/grafana/download.

  2. Extract the downloaded ZIP file to a directory of your choice.

  3. Open a command prompt and navigate to the directory where you extracted Grafana.

  4. Run the following command to start Grafana:

./bin/grafana-server.exe
  1. Open a web browser and go to http://localhost:3000 to access the Grafana web interface.

  2. Log in with the default credentials:

  • Username: admin
  • Password: admin
  1. Follow the on-screen instructions to set a new password for the admin user.

  2. Configure Grafana by adding data sources and creating dashboards.

  3. You can stop Grafana by pressing Ctrl+C in the command prompt where it is running.

Configure datasources

To create an InfluxDB datasource 1 To create an InfluxDB datasource 2

Import dashboards

To import Grafana dashboard:

  • Go to "New dashboard" and "Import" here
  • Choose the JSON file from grafana folder accordingly json
  • Import your dashboard to your Grafana import
  • Enjoy to explore the Dashboard dashboard