mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.1.0 PT2314
This commit is contained in:
parent
e4ed8d6b4c
commit
83c7c1a070
27
libraries/PT2314/.arduino-ci.yml
Normal file
27
libraries/PT2314/.arduino-ci.yml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
platforms:
|
||||||
|
rpipico:
|
||||||
|
board: rp2040:rp2040:rpipico
|
||||||
|
package: rp2040:rp2040
|
||||||
|
gcc:
|
||||||
|
features:
|
||||||
|
defines:
|
||||||
|
- ARDUINO_ARCH_RP2040
|
||||||
|
warnings:
|
||||||
|
flags:
|
||||||
|
|
||||||
|
packages:
|
||||||
|
rp2040:rp2040:
|
||||||
|
url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
|
||||||
|
|
||||||
|
compile:
|
||||||
|
# Choosing to run compilation tests on 2 different Arduino platforms
|
||||||
|
platforms:
|
||||||
|
- uno
|
||||||
|
# - due
|
||||||
|
# - zero
|
||||||
|
# - leonardo
|
||||||
|
- m4
|
||||||
|
- esp32
|
||||||
|
# - esp8266
|
||||||
|
# - mega2560
|
||||||
|
- rpipico
|
4
libraries/PT2314/.github/FUNDING.yml
vendored
Normal file
4
libraries/PT2314/.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: RobTillaart
|
||||||
|
|
13
libraries/PT2314/.github/workflows/arduino-lint.yml
vendored
Normal file
13
libraries/PT2314/.github/workflows/arduino-lint.yml
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
name: Arduino-lint
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: arduino/arduino-lint-action@v1
|
||||||
|
with:
|
||||||
|
library-manager: update
|
||||||
|
compliance: strict
|
17
libraries/PT2314/.github/workflows/arduino_test_runner.yml
vendored
Normal file
17
libraries/PT2314/.github/workflows/arduino_test_runner.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
name: Arduino CI
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
runTest:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
ruby-version: 2.6
|
||||||
|
- run: |
|
||||||
|
gem install arduino_ci
|
||||||
|
arduino_ci.rb
|
18
libraries/PT2314/.github/workflows/jsoncheck.yml
vendored
Normal file
18
libraries/PT2314/.github/workflows/jsoncheck.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: JSON check
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- '**.json'
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: json-syntax-check
|
||||||
|
uses: limitusus/json-syntax-check@v1
|
||||||
|
with:
|
||||||
|
pattern: "\\.json$"
|
||||||
|
|
11
libraries/PT2314/CHANGELOG.md
Normal file
11
libraries/PT2314/CHANGELOG.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Change Log PT2314
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
||||||
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
## [0.1.0] - 2023-07-30
|
||||||
|
- initial version.
|
||||||
|
|
21
libraries/PT2314/LICENSE
Normal file
21
libraries/PT2314/LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023-2023 Rob Tillaart
|
||||||
|
|
||||||
|
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.
|
249
libraries/PT2314/PT2314.cpp
Normal file
249
libraries/PT2314/PT2314.cpp
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
//
|
||||||
|
// FILE: PT2314.cpp
|
||||||
|
// AUTHOR: Rob Tillaart
|
||||||
|
// DATE: 2023-07-30
|
||||||
|
// VERSION: 0.1.0
|
||||||
|
// PURPOSE: Arduino library for PT2314 i2C 4 channel audio processor.
|
||||||
|
// URL: https://github.com/RobTillaart/PT2314
|
||||||
|
|
||||||
|
|
||||||
|
#include "PT2314.h"
|
||||||
|
|
||||||
|
PT2314::PT2314(TwoWire *wire)
|
||||||
|
{
|
||||||
|
_wire = wire;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (ESP8266) || defined(ESP32)
|
||||||
|
bool PT2314::begin(int dataPin, int clockPin)
|
||||||
|
{
|
||||||
|
_wire = &Wire;
|
||||||
|
if ((dataPin < 255) && (clockPin < 255))
|
||||||
|
{
|
||||||
|
_wire->begin(dataPin, clockPin);
|
||||||
|
} else {
|
||||||
|
_wire->begin();
|
||||||
|
}
|
||||||
|
if (! isConnected()) return false;
|
||||||
|
setChannel();
|
||||||
|
setMute();
|
||||||
|
setLoudness();
|
||||||
|
setVolume();
|
||||||
|
setBass();
|
||||||
|
setTreble();
|
||||||
|
setGain();
|
||||||
|
// setAttn(31,31); // already muted
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
bool PT2314::begin()
|
||||||
|
{
|
||||||
|
_wire->begin();
|
||||||
|
if (! isConnected()) return false;
|
||||||
|
setChannel();
|
||||||
|
setMute();
|
||||||
|
setLoudness();
|
||||||
|
setVolume();
|
||||||
|
setBass();
|
||||||
|
setTreble();
|
||||||
|
setGain();
|
||||||
|
// setAttn(31,31); // already muted
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool PT2314::isConnected()
|
||||||
|
{
|
||||||
|
_wire->beginTransmission(_address);
|
||||||
|
return ( _wire->endTransmission() == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setChannel(uint8_t channel)
|
||||||
|
{
|
||||||
|
if (channel > 3) channel = 3;
|
||||||
|
_channel = channel;
|
||||||
|
updateAudioRegister();
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t PT2314::getChannel()
|
||||||
|
{
|
||||||
|
return _channel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// AUDIO
|
||||||
|
//
|
||||||
|
void PT2314::setMute(bool on)
|
||||||
|
{
|
||||||
|
_mute = on;
|
||||||
|
if (_mute)
|
||||||
|
{
|
||||||
|
write(0xDF); // left
|
||||||
|
write(0xFF); // right
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
write(0xC0 | _attnLeft);
|
||||||
|
write(0xE0 | _attnRight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool PT2314::getMute()
|
||||||
|
{
|
||||||
|
return _mute;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setLoudness(bool on)
|
||||||
|
{
|
||||||
|
_loudness = on;
|
||||||
|
updateAudioRegister();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool PT2314::getLoudness()
|
||||||
|
{
|
||||||
|
return _loudness;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setVolume(uint8_t volume)
|
||||||
|
{
|
||||||
|
if (volume > 63) volume = 63;
|
||||||
|
_volume = volume;
|
||||||
|
write(_volume);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t PT2314::getVolume()
|
||||||
|
{
|
||||||
|
return _volume;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setBass(int8_t bass)
|
||||||
|
{
|
||||||
|
if (bass < -14) bass = -14;
|
||||||
|
if (bass > 14) bass = 14;
|
||||||
|
_bass = bass;
|
||||||
|
uint8_t value;
|
||||||
|
if (_bass <= 0) value = 7 + (_bass / 2);
|
||||||
|
else value = 15 - (_bass / 2);
|
||||||
|
write(0x60 | value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int8_t PT2314::getBass()
|
||||||
|
{
|
||||||
|
return _bass;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setTreble(int8_t treble)
|
||||||
|
{
|
||||||
|
if (treble < -14) treble = -14;
|
||||||
|
if (treble > 14) treble = 14;
|
||||||
|
_treble = treble;
|
||||||
|
uint8_t value;
|
||||||
|
if (_treble <= 0) value = 7 + (_treble / 2);
|
||||||
|
else value = 15 - (_treble / 2);
|
||||||
|
write(0x70 | value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int8_t PT2314::getTreble()
|
||||||
|
{
|
||||||
|
return _treble;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setGain(uint8_t gain)
|
||||||
|
{
|
||||||
|
if (gain > 3) gain = 3;
|
||||||
|
_gain = gain << 3;
|
||||||
|
updateAudioRegister();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t PT2314::getGain()
|
||||||
|
{
|
||||||
|
return _gain >> 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setAttnLeft(uint8_t attnLeft)
|
||||||
|
{
|
||||||
|
if (attnLeft > 31) attnLeft = 31;
|
||||||
|
_attnLeft = attnLeft;
|
||||||
|
write(0xC0 | _attnLeft);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t PT2314::getAttnLeft()
|
||||||
|
{
|
||||||
|
return _attnLeft;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setAttnRight(uint8_t attnRight)
|
||||||
|
{
|
||||||
|
if (attnRight > 31) attnRight = 31;
|
||||||
|
_attnRight = attnRight;
|
||||||
|
write(0xE0 | _attnRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t PT2314::getAttnRight()
|
||||||
|
{
|
||||||
|
return _attnRight;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::setAttn(uint8_t attnLeft, uint8_t attnRight)
|
||||||
|
{
|
||||||
|
setAttnLeft(attnLeft);
|
||||||
|
setAttnRight(attnRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// PROTECTED
|
||||||
|
//
|
||||||
|
void PT2314::write(const uint8_t value)
|
||||||
|
{
|
||||||
|
_wire->beginTransmission(_address);
|
||||||
|
_wire->write(value);
|
||||||
|
_error = _wire->endTransmission();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PT2314::updateAudioRegister()
|
||||||
|
{
|
||||||
|
uint8_t value = 0x40;
|
||||||
|
value |= _channel;
|
||||||
|
if (_loudness == false) value |= 0x04;
|
||||||
|
value |= _gain;
|
||||||
|
write(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// DERIVED CLASS
|
||||||
|
//
|
||||||
|
PT7314::PT7314(TwoWire *wire) : PT2314(wire)
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
// -- END OF FILE --
|
||||||
|
|
86
libraries/PT2314/PT2314.h
Normal file
86
libraries/PT2314/PT2314.h
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
#pragma once
|
||||||
|
//
|
||||||
|
// FILE: PT2314.h
|
||||||
|
// AUTHOR: Rob Tillaart
|
||||||
|
// DATE: 2023-07-30
|
||||||
|
// VERSION: 0.1.0
|
||||||
|
// PURPOSE: Arduino library for PT2314 i2C 4 channel audio processor.
|
||||||
|
// URL: https://github.com/RobTillaart/PT2314
|
||||||
|
|
||||||
|
|
||||||
|
#include "Arduino.h"
|
||||||
|
#include "Wire.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define PT2314_LIB_VERSION (F("0.1.0"))
|
||||||
|
|
||||||
|
|
||||||
|
class PT2314
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PT2314(TwoWire *wire = &Wire);
|
||||||
|
|
||||||
|
#if defined (ESP8266) || defined(ESP32)
|
||||||
|
bool begin(int sda, int scl);
|
||||||
|
#endif
|
||||||
|
bool begin();
|
||||||
|
bool isConnected();
|
||||||
|
|
||||||
|
// AUDIO
|
||||||
|
void setChannel(uint8_t channel = 0); // 0..3
|
||||||
|
uint8_t getChannel();
|
||||||
|
|
||||||
|
void setMute(bool on = true);
|
||||||
|
bool getMute();
|
||||||
|
void setLoudness(bool on = true);
|
||||||
|
bool getLoudness();
|
||||||
|
|
||||||
|
void setVolume(uint8_t volume = 0); // 0..63
|
||||||
|
uint8_t getVolume();
|
||||||
|
void setBass(int8_t bass = 0); // -14..14
|
||||||
|
int8_t getBass();
|
||||||
|
void setTreble(int8_t treble = 0); // -14..14
|
||||||
|
int8_t getTreble();
|
||||||
|
|
||||||
|
void setGain(uint8_t gain = 0); // 0..3
|
||||||
|
uint8_t getGain();
|
||||||
|
|
||||||
|
void setAttnLeft(uint8_t value = 31); // 0..31
|
||||||
|
uint8_t getAttnLeft();
|
||||||
|
void setAttnRight(uint8_t value = 31); // 0..31
|
||||||
|
uint8_t getAttnRight();
|
||||||
|
void setAttn(uint8_t attnLeft, uint8_t attnRight);
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void write(const uint8_t value);
|
||||||
|
void updateAudioRegister();
|
||||||
|
|
||||||
|
TwoWire *_wire;
|
||||||
|
uint8_t _address = 0x44;
|
||||||
|
|
||||||
|
uint8_t _channel = 0;
|
||||||
|
bool _mute = false;
|
||||||
|
bool _loudness = false;
|
||||||
|
uint8_t _volume = 0;
|
||||||
|
int8_t _bass = 0;
|
||||||
|
int8_t _treble = 0;
|
||||||
|
uint8_t _gain = 0;
|
||||||
|
uint8_t _attnLeft = 0;
|
||||||
|
uint8_t _attnRight = 0;
|
||||||
|
// to be elaborated.
|
||||||
|
int _error = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// DERIVED
|
||||||
|
//
|
||||||
|
class PT7314 : public PT2314
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PT7314(TwoWire *wire = &Wire);
|
||||||
|
};
|
||||||
|
|
||||||
|
// -- END OF FILE --
|
||||||
|
|
104
libraries/PT2314/README.md
Normal file
104
libraries/PT2314/README.md
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
|
||||||
|
[![Arduino CI](https://github.com/RobTillaart/PT2314/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)
|
||||||
|
[![JSON check](https://github.com/RobTillaart/PT2314/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/PT2314/actions/workflows/jsoncheck.yml)
|
||||||
|
[![Arduino-lint](https://github.com/RobTillaart/PT2314/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/PT2314/actions/workflows/arduino-lint.yml)
|
||||||
|
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/PT2314/blob/master/LICENSE)
|
||||||
|
[![GitHub release](https://img.shields.io/github/release/RobTillaart/PT2314.svg?maxAge=3600)](https://github.com/RobTillaart/PT2314/releases)
|
||||||
|
|
||||||
|
|
||||||
|
# PT2314
|
||||||
|
|
||||||
|
Arduino library for PT2314 i2C 4 channel audio processor.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
The PT2314 library is experimental as it is not tested with hardware.
|
||||||
|
The library should also work with the PT7314, a separate constructor
|
||||||
|
exist for it.
|
||||||
|
|
||||||
|
Feedback is welcome.
|
||||||
|
|
||||||
|
The library is based upon Datasheet: PT2314 V1.4 July, 2005
|
||||||
|
|
||||||
|
|
||||||
|
#### I2C
|
||||||
|
|
||||||
|
According to the datasheet:
|
||||||
|
- PT2314 only work on 100 KHz.
|
||||||
|
- PT7314 can support 400 KHz.
|
||||||
|
- check if higher speeds work?
|
||||||
|
|
||||||
|
Datasheet PT7314 states that the device needs 50 ms to wake up
|
||||||
|
before it can process I2C commands.
|
||||||
|
The datasheet of the PT2314 does not mention such timeout.
|
||||||
|
|
||||||
|
|
||||||
|
## Interface
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
#include "PT2314.h"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Constructors
|
||||||
|
|
||||||
|
- **PT2314(TwoWire \*wire = &Wire)** constructor.
|
||||||
|
- **PT7314(TwoWire \*wire = &Wire)** constructor.
|
||||||
|
- **bool begin(int sda, int scl)** for ESP32 et al.
|
||||||
|
- **bool begin()** other
|
||||||
|
- **bool isConnected()** device address can be seen on I2C bus.
|
||||||
|
|
||||||
|
#### Channel
|
||||||
|
|
||||||
|
- **void setChannel(uint8_t channel = 0)** 0..3
|
||||||
|
- **uint8_t getChannel()**
|
||||||
|
|
||||||
|
#### Volume
|
||||||
|
|
||||||
|
- **void setMute(bool on = true)**
|
||||||
|
- **bool getMute()**
|
||||||
|
- **void setLoudness(bool on = true)**
|
||||||
|
- **bool getLoudness()**
|
||||||
|
- **void setVolume(uint8_t volume = 0)** 0..63
|
||||||
|
- **uint8_t getVolume()**
|
||||||
|
|
||||||
|
#### Bass Treble
|
||||||
|
|
||||||
|
- **void setBass(int8_t bass = 0)** -14..14 dB
|
||||||
|
- **int8_t getBass()**
|
||||||
|
- **void setTreble(int8_t treble = 0)** -14..14 dB
|
||||||
|
- **int8_t getTreble()**
|
||||||
|
|
||||||
|
#### Gain
|
||||||
|
|
||||||
|
- **void setGain(uint8_t gain = 0)** 0..3
|
||||||
|
- **uint8_t getGain()**
|
||||||
|
|
||||||
|
#### Attenuation
|
||||||
|
|
||||||
|
- **void setAttnLeft(uint8_t value = 31)** 0..31
|
||||||
|
- **uint8_t getAttnLeft()**
|
||||||
|
- **void setAttnRight(uint8_t value = 31)** 0..31
|
||||||
|
- **uint8_t getAttnRight()**
|
||||||
|
- **void setAttn(uint8_t attnLeft, uint8_t attnRight)**
|
||||||
|
|
||||||
|
## Future
|
||||||
|
|
||||||
|
#### Must
|
||||||
|
|
||||||
|
- improve documentation
|
||||||
|
- test with hardware
|
||||||
|
|
||||||
|
#### Should
|
||||||
|
|
||||||
|
- error handling
|
||||||
|
- add more examples.
|
||||||
|
- check parameters range (0..63 => -63..0?
|
||||||
|
- some are in dB others not.
|
||||||
|
|
||||||
|
#### Could
|
||||||
|
|
||||||
|
- replace magic numbers with defines.
|
||||||
|
- extend unit test
|
||||||
|
|
||||||
|
#### Wont (unless on request)
|
||||||
|
|
32
libraries/PT2314/examples/PT2314_demo/PT2314_demo.ino
Normal file
32
libraries/PT2314/examples/PT2314_demo/PT2314_demo.ino
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
//
|
||||||
|
// FILE: PT2314_demo.ino
|
||||||
|
// AUTHOR: Rob Tillaart
|
||||||
|
// PURPOSE: simple demo
|
||||||
|
// URL: https://github.com/RobTillaart/PT2314
|
||||||
|
|
||||||
|
|
||||||
|
#include "PT2314.h"
|
||||||
|
|
||||||
|
PT7314 pt;
|
||||||
|
|
||||||
|
|
||||||
|
void setup()
|
||||||
|
{
|
||||||
|
Serial.begin(115200);
|
||||||
|
Serial.println(__FILE__);
|
||||||
|
delay(100);
|
||||||
|
|
||||||
|
pt.begin();
|
||||||
|
|
||||||
|
// do your settings
|
||||||
|
pt.setVolume(20);
|
||||||
|
pt.setAttn(15, 24); // shift the balance
|
||||||
|
pt.setLoudness(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void loop()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// -- END OF FILE --
|
42
libraries/PT2314/keywords.txt
Normal file
42
libraries/PT2314/keywords.txt
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Syntax Colouring Map For PT2314
|
||||||
|
|
||||||
|
# Data types (KEYWORD1)
|
||||||
|
PT2314 KEYWORD1
|
||||||
|
PT7314 KEYWORD1
|
||||||
|
|
||||||
|
|
||||||
|
# Methods and Functions (KEYWORD2)
|
||||||
|
begin KEYWORD2
|
||||||
|
isConnected KEYWORD2
|
||||||
|
|
||||||
|
setChannel KEYWORD2
|
||||||
|
getChannel KEYWORD2
|
||||||
|
|
||||||
|
setMute KEYWORD2
|
||||||
|
getMute KEYWORD2
|
||||||
|
setLoudness KEYWORD2
|
||||||
|
getLoudness KEYWORD2
|
||||||
|
|
||||||
|
setVolume KEYWORD2
|
||||||
|
getVolume KEYWORD2
|
||||||
|
setBass KEYWORD2
|
||||||
|
getBass KEYWORD2
|
||||||
|
setTreble KEYWORD2
|
||||||
|
getTreble KEYWORD2
|
||||||
|
|
||||||
|
setGain KEYWORD2
|
||||||
|
getGain KEYWORD2
|
||||||
|
|
||||||
|
setAttnLeft KEYWORD2
|
||||||
|
getAttnLeft KEYWORD2
|
||||||
|
setAttnRight KEYWORD2
|
||||||
|
getAttnRight KEYWORD2
|
||||||
|
setAttn KEYWORD2
|
||||||
|
|
||||||
|
|
||||||
|
# Constants (LITERAL1)
|
||||||
|
PT2314_LIB_VERSION LITERAL1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
23
libraries/PT2314/library.json
Normal file
23
libraries/PT2314/library.json
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "PT2314",
|
||||||
|
"keywords": "PT2314, PT7314, I2C",
|
||||||
|
"description": "Arduino library for PT2314 i2C 4 channel audio processor.",
|
||||||
|
"authors":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Rob Tillaart",
|
||||||
|
"email": "Rob.Tillaart@gmail.com",
|
||||||
|
"maintainer": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"repository":
|
||||||
|
{
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/RobTillaart/PT2314.git"
|
||||||
|
},
|
||||||
|
"version": "0.1.0",
|
||||||
|
"license": "MIT",
|
||||||
|
"frameworks": "*",
|
||||||
|
"platforms": "*",
|
||||||
|
"headers": "PT2314.h"
|
||||||
|
}
|
12
libraries/PT2314/library.properties
Normal file
12
libraries/PT2314/library.properties
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
name=PT2314
|
||||||
|
version=0.1.0
|
||||||
|
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
|
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
|
sentence=Arduino library for PT2314 i2C 4 channel audio processor,
|
||||||
|
paragraph=PT7314
|
||||||
|
category=Sensors
|
||||||
|
url=https://github.com/RobTillaart/PT2314
|
||||||
|
architectures=*
|
||||||
|
includes=PT2314.h
|
||||||
|
depends=
|
||||||
|
|
75
libraries/PT2314/test/unit_test_001.cpp
Normal file
75
libraries/PT2314/test/unit_test_001.cpp
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
//
|
||||||
|
// FILE: unit_test_001.cpp
|
||||||
|
// AUTHOR: Rob Tillaart
|
||||||
|
// VERSION: 0.1.0
|
||||||
|
// DATE: 2023-07-30
|
||||||
|
// PURPOSE: unit tests for the PT2314
|
||||||
|
// https://github.com/RobTillaart/PT2314
|
||||||
|
// https://github.com/Arduino-CI/arduino_ci/blob/master/REFERENCE.md
|
||||||
|
//
|
||||||
|
|
||||||
|
// supported assertions
|
||||||
|
// https://github.com/Arduino-CI/arduino_ci/blob/master/cpp/unittest/Assertion.h#L33-L42
|
||||||
|
// ----------------------------
|
||||||
|
// assertEqual(expected, actual); // a == b
|
||||||
|
// assertNotEqual(unwanted, actual); // a != b
|
||||||
|
// assertComparativeEquivalent(expected, actual); // abs(a - b) == 0 or (!(a > b) && !(a < b))
|
||||||
|
// assertComparativeNotEquivalent(unwanted, actual); // abs(a - b) > 0 or ((a > b) || (a < b))
|
||||||
|
// assertLess(upperBound, actual); // a < b
|
||||||
|
// assertMore(lowerBound, actual); // a > b
|
||||||
|
// assertLessOrEqual(upperBound, actual); // a <= b
|
||||||
|
// assertMoreOrEqual(lowerBound, actual); // a >= b
|
||||||
|
// assertTrue(actual);
|
||||||
|
// assertFalse(actual);
|
||||||
|
// assertNull(actual);
|
||||||
|
|
||||||
|
// // special cases for floats
|
||||||
|
// assertEqualFloat(expected, actual, epsilon); // fabs(a - b) <= epsilon
|
||||||
|
// assertNotEqualFloat(unwanted, actual, epsilon); // fabs(a - b) >= epsilon
|
||||||
|
// assertInfinity(actual); // isinf(a)
|
||||||
|
// assertNotInfinity(actual); // !isinf(a)
|
||||||
|
// assertNAN(arg); // isnan(a)
|
||||||
|
// assertNotNAN(arg); // !isnan(a)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////
|
||||||
|
//
|
||||||
|
// MANY TESTS WILL BLOCK AS BUILD CI HAS NO GOOD TIMEOUT
|
||||||
|
// ALL FAILING TESTS ARE COMMENTED
|
||||||
|
//
|
||||||
|
// USE GODMODE SERIAL TO IMPROVE THESE TESTS
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <ArduinoUnitTests.h>
|
||||||
|
|
||||||
|
#include "Arduino.h"
|
||||||
|
#include "PT2314.h"
|
||||||
|
|
||||||
|
|
||||||
|
unittest_setup()
|
||||||
|
{
|
||||||
|
fprintf(stderr, "PT2314_LIB_VERSION:\t%s\n", (char *) PT2314_LIB_VERSION);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
unittest_teardown()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
unittest(test_constructor)
|
||||||
|
{
|
||||||
|
PT2314 pt2;
|
||||||
|
PT7314 pt7;
|
||||||
|
|
||||||
|
assertEqual(1,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
unittest_main()
|
||||||
|
|
||||||
|
|
||||||
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user