com.diozero.ws281xj.sampleapps.WS281xTest Maven / Gradle / Ivy
package com.diozero.ws281xj.sampleapps;
/*-
* #%L
* Organisation: diozero
* Project: Device I/O Zero - WS281x Java Wrapper
* Filename: WS281xTest.java
*
* This file is part of the diozero project. More information about this project
* can be found at https://www.diozero.com/.
* %%
* Copyright (C) 2016 - 2021 diozero
* %%
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* #L%
*/
import com.diozero.ws281xj.LedDriverInterface;
import com.diozero.ws281xj.PixelAnimations;
import com.diozero.ws281xj.PixelColour;
import com.diozero.ws281xj.rpiws281x.WS281x;
public class WS281xTest {
public static void main(String[] args) {
//int gpio_num = 18;
int gpio_num = 10;
int brightness = 64; // 0..255
//int num_pixels = 12;
int num_pixels = 60;
System.out.println("Using GPIO " + gpio_num);
try (LedDriverInterface led_driver = new WS281x(gpio_num, brightness, num_pixels)) {
rainbowColours(led_driver);
test2(led_driver);
hsbTest(led_driver);
hslTest(led_driver);
PixelAnimations.demo(led_driver);
} catch (Throwable t) {
System.out.println("Error: " + t);
t.printStackTrace();
}
}
private static void rainbowColours(LedDriverInterface ledDriver) {
System.out.println("rainbowColours()");
int[] colours = PixelColour.RAINBOW;
for (int i=0; i<250; i++) {
for (int pixel=0; pixel