Skip to content

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

License

Notifications You must be signed in to change notification settings

janelia-arduino/UltravioletDetectorInterface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published