Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
probonopd committed Jul 29, 2023
1 parent 22954af commit 08fb6ae
Showing 1 changed file with 183 additions and 2 deletions.
185 changes: 183 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ Control Bose Acoustimass module over serial port using TAP commands.
- Read ADC port voltages for specific parameters.
- Dump and modify EEPROM contents.

## Disclaimer

The TAPController library is provided as-is, without any guarantees or warranties. It is intended for educational and experimental purposes and shall be used at your own risk. The library provides control over the Bose Acoustimass module via a serial interface, and improper usage may lead to undesired behavior or potential damage to the hardware. Before using this library, we strongly advise you to read the service manual of the Bose Acoustimass module and fully understand its functionality and limitations. The author and contributors of this library are not liable for any damages or issues that may arise from using this library with the Bose Acoustimass module. Always exercise caution and responsibility when interacting with hardware components.

## Installation

To use the TAPController library, you can install it through the Arduino Library Manager or PlatformIO.
Expand Down Expand Up @@ -55,9 +59,186 @@ void loop() {

## API Reference

### Class: TAPController
### TAPController(Stream &serial)

Constructor to create an instance of the TAPController class.

- `serial`: The Stream object representing the serial port to communicate with the Bose Acoustimass module.

### void muteAudio()

Mutes the audio output of the Bose Acoustimass module.

### void unmuteAudio()

Unmutes the audio output of the Bose Acoustimass module.

### void selectInput(uint8_t inputCode)

Selects an input source for the Bose Acoustimass module.

- `inputCode`: The input code representing the desired input source.

### void setVolume(int8_t volume)

Sets the volume level for the Bose Acoustimass module.

- `volume`: The volume level to be set. Valid range: -80 to 12 (representing -80dB to +12dB).

### void setCenterSurroundVolume(int8_t centerVolume, int8_t surroundVolume)

Sets the volume levels for the center and surround channels.

- `centerVolume`: The volume level for the center channel. Valid range: -80 to 12 (representing -80dB to +12dB).
- `surroundVolume`: The volume level for the surround channel. Valid range: -80 to 12 (representing -80dB to +12dB).

### void setSpeakerMode(uint8_t speakerMode)

Sets the speaker mode for the Bose Acoustimass module.

- `speakerMode`: The speaker mode code representing the desired configuration.

### uint8_t readADC(uint8_t adcPort)

Reads the voltage from a specific ADC port of the Bose Acoustimass module.

- `adcPort`: The ADC port number to read voltage from.

Returns: The 8-bit ADC reading representing the voltage value (0 to 255).

### void dumpEEPROM()

Dumps the contents of the EEPROM from the Bose Acoustimass module over the serial port.

### void writeEEPROM(uint8_t address, uint8_t data)

Writes a single byte of data to a specific address in the EEPROM of the Bose Acoustimass module.

- `address`: The EEPROM address to write data to.
- `data`: The data byte to be written.

### void calculateEEPROMChecksum()

Recalculates and stores the checksum of the EEPROM data in the Bose Acoustimass module.

### void fillEEPROM(uint8_t data)

Fills the entire EEPROM of the Bose Acoustimass module with the specified data.

- `data`: The data byte to fill the EEPROM with.

### void resetPCB()

Resets the PCB (Printed Circuit Board) of the Bose Acoustimass module.

### void resetDSPs()

Resets the DSPs (Digital Signal Processors) of the Bose Acoustimass module.

### void resetCodec()

Resets the audio codec of the Bose Acoustimass module.

### void requestDSPChecksumCalculation()

Requests the DSP checksum calculation from the Bose Acoustimass module.

### void fetchDSPChecksum(uint8_t dspNumber, uint8_t address)

Fetches and prints the checksum calculation of a specific DSP.

- `dspNumber`: The DSP number (1 or 2) for which the checksum calculation is requested.
- `address`: The address to fetch the checksum calculation from.

### void select2SpeakerMode()

Selects the 2-speaker mode configuration.

### void select3SpeakerMode()

Selects the 3-speaker mode configuration.

### void select5SpeakerMode()

Selects the 5-speaker mode configuration.

### void selectOffMode()

Turns off the audio output of the Bose Acoustimass module.

### void passthroughAllSignalProcessing()

Sets the Bose Acoustimass module in passthrough mode with all signal processing enabled.

### void passthroughNoSignalProcessing()

Sets the Bose Acoustimass module in passthrough mode with no signal processing.

### void exitTestMode()

Exits the test mode and restores normal signal processing.

### void turnOnSignal()

Triggers the turn-on signal in the Bose Acoustimass module.

### void turnOffSignal()

Triggers the turn-off signal in the Bose Acoustimass module.

### void DRCOn()

Enables Dynamic Range Compression (DRC) in the Bose Acoustimass module.

### void DRCOff()

Disables Dynamic Range Compression (DRC) in the Bose Acoustimass module.

### void oneToFiveOn()

Enables the 1-to-5 mode in the Bose Acoustimass module.

### void oneToFiveOff()

Disables the 1-to-5 mode in the Bose Acoustimass module.

### void printStatus()

Prints the current status of the Bose Acoustimass module.

### void resetAll()

Resets all configurations in the Bose Acoustimass module to default values.

### void setBassPotPosition(uint8_t position)

Sets the position of the bass potentiometer.

- `position`: The position value for the bass potentiometer (0 to 255).

### void setTreblePotPosition(uint8_t position)

Sets the position of the treble potentiometer.

- `position`: The position value for the treble potentiometer (0 to 255).

### void setThermistorVoltage(uint8_t voltage)

Sets the voltage value for the thermistor.

- `voltage`: The voltage value for the thermistor (0 to 255).

### void setSupplyVoltage(uint8_t voltage)

Sets the voltage value for the 3.3V supply.

- `voltage`: The voltage value for the 3.3V supply (0 to 255).

### void setSPDIFDetectVoltage(uint8_t voltage)

Sets the voltage value for the SPDIF detect.

- `TAPController(Stream& serial);`: Constructor to initialize the TAPController with the provided `Stream` object for serial communication.
- `voltage`: The voltage

## TAP Commands

Expand Down

0 comments on commit 08fb6ae

Please sign in to comment.