All Projects β†’ OpenLightingProject β†’ ja-rule

OpenLightingProject / ja-rule

Licence: other
Ja Rule is the code behind OLE, an Open Source DMX/RDM framework for PIC32 microcontrollers

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
M4
1887 projects
Makefile
30231 projects
python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to ja-rule

emock
🐞 下一代C/C++跨平台mockεΊ“ (Next generation cross-platform mock library for C/C++)
Stars: ✭ 73 (+102.78%)
Mutual labels:  gmock, gtest
how-to-qemu-arm-gdb-gtest
How to run, debug, and unit test ARM code on X86 ubuntu
Stars: ✭ 19 (-47.22%)
Mutual labels:  gmock, gtest
gmock-xcode
Xcode integration for GoogleMock through XCTest
Stars: ✭ 18 (-50%)
Mutual labels:  gmock, gtest
open-fixture-library
A library and website for lighting technology's DMX fixture definition files.
Stars: ✭ 113 (+213.89%)
Mutual labels:  dmx, rdm
TeensyDMX
A full-featured DMX library for Teensy 3, Teensy LC, and Teensy 4. "Programmable DMX and arbitrary USB serial device emulation."
Stars: ✭ 82 (+127.78%)
Mutual labels:  dmx, rdm
rdm-app
Code for the rdm.openlighting.org site
Stars: ✭ 17 (-52.78%)
Mutual labels:  rdm
gtestx
A C++ benchmark extension for gtest
Stars: ✭ 19 (-47.22%)
Mutual labels:  gtest
ultra-sort
DSL for SIMD Sorting on AVX2 & AVX512
Stars: ✭ 29 (-19.44%)
Mutual labels:  gtest
refactoring-for-testability-cpp
Hard-to-test patterns in C++ and how to refactor them
Stars: ✭ 40 (+11.11%)
Mutual labels:  gtest
googletest-ci
Continuous integration (CI) + Google Test (gtest) + CMake example boilerplate demo
Stars: ✭ 14 (-61.11%)
Mutual labels:  gtest
BlenderDMX
Blender addon to design and render DMX lighting.
Stars: ✭ 67 (+86.11%)
Mutual labels:  dmx
OpenDeck
Software and hardware platform for simpler building of MIDI controllers with support for DMX.
Stars: ✭ 438 (+1116.67%)
Mutual labels:  dmx
dmx usb module
Linux kernel module for Enttec Open DMX dongle
Stars: ✭ 36 (+0%)
Mutual labels:  dmx
gba-sprite-engine
An object-oriented Game Boy Advance sprite engine concept
Stars: ✭ 68 (+88.89%)
Mutual labels:  gtest
ccxx
This is a cross-platform library software library about c, c ++, unix4, posix. Include gtest, benchmark, cmake, process lock, daemon, libuv, lua, cpython, re2, json, yaml, mysql, redis, opencv, qt, lz4, oci ... https://hub.docker.com/u/oudream
Stars: ✭ 31 (-13.89%)
Mutual labels:  gtest
h3dmx512-zip
Images for Allwinner H2+/H3 DMX512 / RDM / Art-Net / sACN / USBPro / Pixel / WS28xx / TCNet / SMPTE
Stars: ✭ 57 (+58.33%)
Mutual labels:  rdm
gtest-tap-listener
GoogleTest TAP Listener
Stars: ✭ 70 (+94.44%)
Mutual labels:  gtest
uDevkit-SDK
Embedded systems SDK for Uniswarm boards and others (dsPIC33, dsPIC30, PIC24 and PIC32 compatible)
Stars: ✭ 14 (-61.11%)
Mutual labels:  pic32mx
uDevkit-IDE
An IDE for uDevkit or C/C++ projects with Git written in Qt5
Stars: ✭ 15 (-58.33%)
Mutual labels:  pic32mx
sparklemotion
Sparkle Motion
Stars: ✭ 24 (-33.33%)
Mutual labels:  dmx

Open Lighting Embedded

Build Status Coverity Scan Status Coverage Status

Open Lighting Embedded (OLE) is an open source DMX512 / RDM stack for PIC32 microcontrollers. The software is developed as part of the Open Lighting Project.

Documentation

The OLE User Manual describes how to use an OLE device.

The OLE Developer Documentation, is targeted towards people who want to know more about the platform and how to modify it.

Licensing

The OLE codebase is licensed under the LGPL.

The unit-testing code & mocks are licenced under the GPL.

The hardware designs and the documentation is licensed under the Creative Commons BY-SA.

Directory Layout

β”œβ”€β”€ Bootloader  # The DFU bootloader
β”‚   └── firmware
β”‚       β”œβ”€β”€ Bootloader.X  # Bootloader MPLAB X project
β”‚       β”œβ”€β”€ src  # Bootloader source code
β”œβ”€β”€ boardcfg     # Software configuration for each board
β”œβ”€β”€ common  # Common code shared between the bootloader and application.
β”œβ”€β”€ firmware  # The main DMX/RDM application
β”‚   β”œβ”€β”€ ja-rule.X
β”‚   └── src
β”œβ”€β”€ linker       # linker scripts for the bootloader & application
β”œβ”€β”€ tests        # Unit tests
β”‚   β”œβ”€β”€ harmony  # The mock Harmony modules
β”‚   β”œβ”€β”€ include  # Test headers
β”‚   β”œβ”€β”€ mocks    # Module mocks.
β”‚   β”œβ”€β”€ sim      # A simple PIC32 simulator
β”‚   └── tests    # The unittests
β”œβ”€β”€ tools        # tools to upgrade the firmware on the device.
└── user_manual  # The user manual

Getting Started

The firmware/ja-rule.X project can be opened in MPLAB X.

To run the unit tests, you'll need:

gmock / gtest should not be installed system-wide, see https://code.google.com/p/googletest/wiki/FAQ for the reasons.

The install-gmock.sh helper script will download and build gmock & gtest in the local directory.

Once gmock has been built, run:

autoreconf -i
./configure
make
make check

PLASA Identifiers & UIDs

The code by default uses the Open Lighting PLASA ID (0x7a70). This range is owned by the Open Lighting Project and at this time we do not sub-license ranges to anyone else. You may not ship product with the Open Lighting PLASA ID.

Per https://wiki.openlighting.org/index.php/Open_Lighting_Allocations the UIDs 7a70:fffffe00 to 7a70:fffffefe may be used for development (in house) purposes.

Dev Notes

A bulk-in transfer with a full 512 bytes of DMX data takes < 1ms on my mac laptop. Given this, I felt that a simple request / response model with a double buffer would suffice.

For DMX / RDM messages, the response message is sent when the transceiver completes the transaction, so the host received positive acknowledgement.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].