Skip to content

Latest commit

 

History

History
211 lines (145 loc) · 3.91 KB

README.org

File metadata and controls

211 lines (145 loc) · 3.91 KB

UltravioletDetectorInterface

Library Information

Name
UltravioletDetectorInterface
Version
2.0.1
License
BSD
URL
https://github.com/janelia-arduino/UltravioletDetectorInterface
Author
Peter Polidoro
Email
[email protected]

Description

Modular device ultraviolet detector interface library for ECOM Toydad UV detectors.

API NAMES

{
  "id": "getAPI",
  "result": {
    "ancestors": [
      "ModularServer",
      "ModularDeviceBase",
      "SerialInterface"
    ],
    "firmware": [
      {
        "name": "UltravioletDetectorInterface",
        "version": "2.0.1"
      }
    ],
    "verbosity": "NAMES",
    "functions": [
      "getDetectorInfo",
      "getStatus",
      "lampIsOn",
      "isAutozeroing",
      "getWavelengthRange",
      "getWavelengths",
      "setWavelengths",
      "getAbsorbances"
    ],
    "parameters": [
      "wavelengths"
    ],
    "callbacks": [
      "turnLampOn",
      "turnLampOff",
      "autozero",
      "playShortTone",
      "playMediumTone",
      "playLongTone"
    ]
  }
}

API GENERAL

./api/

Ancestors

https://github.com/janelia-arduino/ModularServer

https://github.com/janelia-arduino/ModularDeviceBase

https://github.com/janelia-arduino/SerialInterface

Clients

Devices

https://github.com/janelia-modular-devices/modular_device_base

https://github.com/janelia-modular-devices/rs232_interface

More Detailed Modular Device Information

https://github.com/janelia-modular-devices/modular-devices

Host Computer Setup

Download this repository

https://github.com/janelia-arduino/UltravioletDetectorInterface.git

git clone https://github.com/janelia-arduino/UltravioletDetectorInterface.git

PlatformIO

Install PlatformIO Core

https://docs.platformio.org/en/latest/core/installation/index.html

python3 -m venv .venv
source .venv/bin/activate
pip install pip --upgrade
pip install platformio
pio --version

99-platformio-udev.rules

Linux users have to install udev rules for PlatformIO supported boards/devices.

Download udev rules file to /etc/udev/rules.d

curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules

Restart udev management tool

sudo service udev restart

Add user to groups

sudo usermod -a -G dialout $USER && sudo usermod -a -G plugdev $USER

Remove modemmanager

sudo apt-get purge --auto-remove modemmanager

After setting up rules and groups

You will need to log out and log back in again (or reboot) for the user group changes to take effect.

After this file is installed, physically unplug and reconnect your board.

Compile the firmware

Gnu/Linux

make firmware

Other

pio run -e teensy31

Upload the firmware

Gnu/Linux

make upload

Other

pio run -e teensy31 -t upload

Serial Terminal Monitor

Gnu/Linux

make monitor

Other

pio device monitor --echo --eol=LF

get API in terminal monitor

getAPI NAMES ["UltravioletDetectorInterface"]

Arduino Ide

Download

https://www.arduino.cc/en/software

Additional Boards Manager URLs

File > Preferences

https://www.pjrc.com/teensy/package_teensy_index.json
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

Add Board Support Packages

  • Teensy by Paul Stroffregen
  • Raspberry Pi Pico/RP2040 by Earle F Philhower, III