lib Modulove
Library for building custom scripts for Modulove modules.
Loading...
Searching...
No Matches
arythmatik.h
1#ifndef ARYTHMATIK_H
2#define ARYTHMATIK_H
3
4#include <Arduino.h>
5
6// Oled setting
7#include <Adafruit_GFX.h>
8#include <Adafruit_SSD1306.h>
9#include <EEPROM.h>
10#include <EncoderButton.h>
11#include <Wire.h>
12
13#include "arythmatik_config.h"
15#include "digital_input.h"
16#include "digital_output.h"
17#include "encoder_dir.h"
18
19namespace modulove {
20
23 public:
26 : display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1),
27 eb(ENCODER_PIN1, ENCODER_PIN2, ENCODER_SW_PIN) {}
28
31
32 // Module configuration storage struct.
33 arythmatik::Config config;
34
36 void Init();
37
40 void AttachClockHandler(void (*callback)(void));
41 void AttachResetHandler(void (*callback)(void));
42
44 void ProcessInputs();
45
49
50 Adafruit_SSD1306 display;
51 EncoderButton eb;
52 DigitalOutput outputs[arythmatik::OUTPUT_COUNT];
56
57 private:
58 void InitDisplay();
59 void InitInputs();
60 void InitOutputs();
61};
62} // namespace modulove
63
64#endif
collection of configuration settings for the A-RYTH-MATIK..
Arduino pin definitions for the Modulove A-RYTH-MATIC module.
Hardware abstraction wrapper for A-RYTH-MATIK module.
Definition arythmatik.h:22
void AttachClockHandler(void(*callback)(void))
Pin change handlers.
Definition arythmatik.cpp:67
DigitalInput rst
RST Digital Input object.
Definition arythmatik.h:55
DigitalOutput outputs[arythmatik::OUTPUT_COUNT]
Definition arythmatik.h:52
EncoderButton eb
EncoderButton object.
Definition arythmatik.h:51
arythmatik::Direction EncoderDirection()
Parse the configured EncoderButton increment direction.
Definition arythmatik.cpp:107
~Arythmatik()
Deconstructor.
Definition arythmatik.h:30
Arythmatik()
Constructor.
Definition arythmatik.h:25
void Init()
Initializes the Arduino, and A-RYTH-MATIK hardware.
Definition arythmatik.cpp:22
DigitalInput clk
CLK Digital Input object.
Definition arythmatik.h:54
void ProcessInputs()
Read the state of the CLK and RST inputs.
Definition arythmatik.cpp:94
Adafruit_SSD1306 display
OLED display object.
Definition arythmatik.h:50
Definition digital_input.h:18
Definition digital_output.h:18
Class for interacting with trigger / gate inputs.
Class for interacting with trigger / gate outputs.
Class for interacting with encoder push buttons.
Direction
Enum constants for encoder rotation increment/decrement state.
Definition encoder_dir.h:18
Definition arythmatik_config.h:18