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 ## BALibrary
This library is under active development as of 2022. This library is under active development as of 2023.
Last tested with: Last tested with:
Arduino IDE: v1.8.10 Arduino IDE: v2.0.4
Teensyduino: v1.48* 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** **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. 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** **INSTALLATION**
In order to use BALibrary, you should: 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). 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.. 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. 4. In your .ino sketch, include "BALibrary.h" for access to general purpose classes.
5. Include "BAEffects.h" for access to Blackaddr Audio custom audio effect 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** **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** **BALibrary CONTENTS**
- WM871 advanced codec control - WM871 advanced codec control
- analog delay modelling effect - external SPI SRAM manager with DMA support
- digital delay effect - pinout support for all TGA Pro models, plus Aviate Audio Multiverse
- Sound-on-Sound effect - some example effects using the library
- external SRAM manager
- more on the way! - 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. * features of the Aviate Audio Multiverse effects processor.
* *
* The following are demonstrated in this programming using BALibrary: * 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 * - Interact with all physical controls
* - Control the 128x64 pixel OLED display (connected to SPI0) * - Control the 128x64 pixel OLED display (connected to SPI0)
* - Use the 8MB external SRAM (simple memory test) * - Use the 8MB external SRAM (simple memory test)
@ -13,11 +13,11 @@
* REQUIREMENTS: * REQUIREMENTS:
* This demo for Multiverse uses its OLED display which requires several Arduino * 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 * 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_BusIO : https://github.com/adafruit/Adafruit_BusIO
* Adafruit_GFX_Library : https://github.com/adafruit/Adafruit-GFX-Library * 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 * USAGE INSTRUCTIONS
@ -86,7 +86,7 @@ void setup() {
codec.disable(); // this will reset the codec 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); Serial.begin(57600);
unsigned serialLoopCount = 10; unsigned serialLoopCount = 10;
while (!Serial && (serialLoopCount > 0)) { while (!Serial && (serialLoopCount > 0)) {
@ -94,7 +94,7 @@ void setup() {
serialLoopCount--; 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 SPI_MEM1_64M(); // Declare the correct memory size
// Init the display // Init the display

@ -40,7 +40,7 @@ enum class TgaBoard : unsigned {
REV_A = 0, ///< indicates using REV A of the TGA Pro REV_A = 0, ///< indicates using REV A of the TGA Pro
REV_B, ///< indicates using REV B 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 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 /// 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_1, ///< indicates using REV 1 of the Expansion Board
REV_2, ///< indicates using REV 2 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) 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 /// 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_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_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 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_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 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 #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 #endif
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// MULTIVERSE // // MULTIVERSE_REV1 //
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
#if defined(ARDUINO_TEENSY_MICROMOD) #if defined(ARDUINO_TEENSY_MICROMOD)
if (tgaBoard == TgaBoard::MULTIVERSE) { if (tgaBoard == TgaBoard::MULTIVERSE_REV1) {
BA_EXPAND_NUM_POT = 4; BA_EXPAND_NUM_POT = 4;
BA_EXPAND_NUM_SW = 6; BA_EXPAND_NUM_SW = 6;
BA_EXPAND_NUM_LED = 2; BA_EXPAND_NUM_LED = 2;

Loading…
Cancel
Save