Change Multiverse macro to MULTIVERSE_REV1()

master
Blackaddr 2 years ago
parent 5830973dc3
commit 753c16a4c9
  1. 31
      README.md
  2. BIN
      TGA_PRO_revb.jpg
  3. BIN
      TGA_Pro_MKII_rev1.jpg
  4. 10
      examples/Tests/Multiverse_BasicDemo/Multiverse_BasicDemo.ino
  5. 8
      src/BAHardware.h
  6. 4
      src/common/BAHardware.cpp

@ -1,13 +1,12 @@
## BALibrary
This library is under active development as of 2022.
This library is under active development as of 2023.
Last tested with:
Arduino IDE: v1.8.10
Teensyduino: v1.48*
Arduino IDE: v2.0.4
Teensyduino: v1.57
![](TGA_PRO_revb.jpg)
![](TGA_PRO_MKII_rev1.jpg)
*The Arduino MIDI library has recently undergone changes to it's interface. You must have Teensyduino v1.48 or higher for the library and it's examples to work correctly.
**INTRODUCTION**
This open-source library is designed to extend the capabilities of Teensyduino, a collection of Arudino libraries ported to the Teensy microcontroller platform by Paul at PJRC.com.
@ -19,20 +18,26 @@ BALibrary adds to this by providing features and building blocks that are of par
**INSTALLATION**
In order to use BALibrary, you should:
1. Install the Arduino IDE. This is where you write and compile your software, called 'sketches'. See [here](https://www.arduino.cc/en/Main/Software).
1. Install the Arduino IDE. This is where you write and compile your software, called 'sketches'. See [here](https://www.arduino.cc/en/software).
2. Install the Teensyduino plugin for the Arduino IDE. This provides support for programming Teensy boards over USB, as well as access to the plethora of helpful libraries and examples it provides. See [here](https://www.pjrc.com/teensy/td_download.html).
3. Download the BALibrary library, and use the Library Manager in the Arduino IDE to install it. See [here](https://www.arduino.cc/en/Guide/Libraries) for details..
4. Include "BALibrary.h" for access to general purpose classes.
5. Include "BAEffects.h" for access to Blackaddr Audio custom audio effect classes.
4. In your .ino sketch, include "BALibrary.h" for access to general purpose classes.
5. In your .ino sketch, include "BAEffects.h" for access to Blackaddr Audio custom audio effect classes.
6. In your the begining of your setup() functions, call the macro set your hardware model. E.g. TGA_PRO_MKII_REV1(), MULTIVERSE_REV1(), etc.
**HARDWARE**
The audio primitives and effects provided in the BALibrary library require no special hardware other than a Teensy 3.x and Teensy 4.0 series board. However, in order to use the external RAM features provided in some effects, the SPI pins used must be the same as those used on the Blackaddr [TGA-Pro audio shield](http://blackaddr.com/products/).
The audio primitives and effects provided in the BALibrary library require no special hardware other than a Teensy 3.x or Teensy 4.x series board. However, in order to use the external RAM features provided in some effects, the SPI pins used must be the same as those used on the Blackaddr [TGA-Pro audio shield](http://blackaddr.com/products/).
*** TGA PRO ***
This library was originally designed as a companion to the TGA Pro series of hardware boards. These boards expand Teensy by adding the necessary analog audio, preamp and MIDI circuitry needed to make guitar effects, MIDI synths, etc.
*** Aviate Audio Multiverse ***
This library also supports the Aviate Audio Multiverse (based upon the Teensy MicroMod) which means in addition to the amazing guitar effects ecosystem it provides, you can also program it yourself just like any other Teensy! So, this library also includes pinout support this device. A simple demo is provided that exercises all the hardware features of this platform. See examples/Tests/Multiverse_BasicDemo.
**BALibrary CONTENTS**
- WM871 advanced codec control
- analog delay modelling effect
- digital delay effect
- Sound-on-Sound effect
- external SRAM manager
- external SPI SRAM manager with DMA support
- pinout support for all TGA Pro models, plus Aviate Audio Multiverse
- some example effects using the library
- more on the way!

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

@ -5,7 +5,7 @@
* features of the Aviate Audio Multiverse effects processor.
*
* The following are demonstrated in this programming using BALibrary:
* - WM8731 stereo audio codec in master mode (NOTE: not slave mode like TGA Pro
* - WM8731 stereo audio codec in master mode (NOTE: not slave mode like TGA Pro)
* - Interact with all physical controls
* - Control the 128x64 pixel OLED display (connected to SPI0)
* - Use the 8MB external SRAM (simple memory test)
@ -13,11 +13,11 @@
* REQUIREMENTS:
* This demo for Multiverse uses its OLED display which requires several Arduino
* libraries be downloaded first. The SH1106 library is modifed to work with Teensy
* and must be downloaded from the AlgorhythmTechnologies github.
* and must be downloaded from the AviateAudio github.
*
* Adafruit_BusIO : https://github.com/adafruit/Adafruit_BusIO
* Adafruit_GFX_Library : https://github.com/adafruit/Adafruit-GFX-Library
* Adafruit_SH1106 : https://github.com/AlgorhythmTechnologies/Adafruit_SH1106
* Adafruit_SH1106 : https://github.com/AviateAudio/Adafruit_SH1106
*
*
* USAGE INSTRUCTIONS
@ -86,7 +86,7 @@ void setup() {
codec.disable(); // this will reset the codec
// wait up for the serial to appear for up to 1 second
// wait up for the serial to appear for up to 1 second, then continue
Serial.begin(57600);
unsigned serialLoopCount = 10;
while (!Serial && (serialLoopCount > 0)) {
@ -94,7 +94,7 @@ void setup() {
serialLoopCount--;
}
MULTIVERSE(); // constants defined in BALibrary become valid only after this call
MULTIVERSE_REV1(); // constants defined in BALibrary become valid only after this call
SPI_MEM1_64M(); // Declare the correct memory size
// Init the display

@ -40,7 +40,7 @@ enum class TgaBoard : unsigned {
REV_A = 0, ///< indicates using REV A of the TGA Pro
REV_B, ///< indicates using REV B of the TGA Pro
MKII_REV1, ///< indicates using MKII, Rev 1 of the TGA Pro
MULTIVERSE ///< indicates using the Aviate Audio Multiverse
MULTIVERSE_REV1 ///< indicates using the Aviate Audio MULTIVERSE_REV1
};
/// enum to specify the TGA Board revision
@ -55,7 +55,7 @@ enum class ExpansionBoard : unsigned {
REV_1, ///< indicates using REV 1 of the Expansion Board
REV_2, ///< indicates using REV 2 of the Expansion Board
REV_3, ///< indicates using REV 3 of the Expansion Board (MKII Series)
MULTIVERSE ///< indicates using the Aviate Audio Multiverse for controls
MULTIVERSE_REV1 ///< indicates using the Aviate Audio Multiverse for controls
};
/// enum to specify SPI memory dize
@ -205,11 +205,11 @@ extern BAHardware BAHardwareConfig; ///< external definition of global configura
#define TGA_PRO_REVA(x) BALibrary::BAHardwareConfig.set(TgaBoard::REV_A) ///< Macro for specifying REV A of the TGA Pro
#define TGA_PRO_REVB(x) BALibrary::BAHardwareConfig.set(TgaBoard::REV_B) ///< Macro for specifying REV B of the TGA Pro
#define TGA_PRO_MKII_REV1(x) BALibrary::BAHardwareConfig.set(TgaBoard::MKII_REV1) ///< Macro for specifying REV B of the TGA Pro
#define MULTIVERSE(x) BALibrary::BAHardwareConfig.set(TgaBoard::MULTIVERSE) ///< Macro for specifying REV B of the TGA Pro
#define MULTIVERSE_REV1(x) BALibrary::BAHardwareConfig.set(TgaBoard::MULTIVERSE_REV1) ///< Macro for specifying REV B of the TGA Pro
#define TGA_PRO_EXPAND_REV2(x) BALibrary::BAHardwareConfig.setExpansionBoard(ExpansionBoard::REV_2) ///< Macro for specifying REV 2 of the Expansion Board
#define TGA_PRO_EXPAND_REV3(x) BALibrary::BAHardwareConfig.setExpansionBoard(ExpansionBoard::REV_3) ///< Macro for specifying REV 2 of the Expansion Board
#define MULTIVERSE_EXPAND(x) BALibrary::BAHardwareConfig.setExpansionBoard(ExpansionBoard::MULTIVERSE) ///< Macro for specifying Multiverse
#define MULTIVERSE_REV1_EXPAND(x) BALibrary::BAHardwareConfig.setExpansionBoard(ExpansionBoard::MULTIVERSE_REV1) ///< Macro for specifying Multiverse
#define SPI_MEM0_1M(x) BALibrary::BAHardwareConfig.set(MEM0, SPI_MEMORY_1M) ///< Macro for specifying MEM0 is 1Mbit

@ -286,10 +286,10 @@ void BAHardware::set(TgaBoard tgaBoard)
#endif
////////////////////////////////////////////////////////////////////////////
// MULTIVERSE //
// MULTIVERSE_REV1 //
////////////////////////////////////////////////////////////////////////////
#if defined(ARDUINO_TEENSY_MICROMOD)
if (tgaBoard == TgaBoard::MULTIVERSE) {
if (tgaBoard == TgaBoard::MULTIVERSE_REV1) {
BA_EXPAND_NUM_POT = 4;
BA_EXPAND_NUM_SW = 6;
BA_EXPAND_NUM_LED = 2;

Loading…
Cancel
Save