This library controls a ST TDA7419 audio control IC. This is part of a project to implement an mbed controlled car stereo. The TDA7419 will take in stereo and output four channels of audio plus a subwoofer channel.
PreampTDA7419.cpp@0:86ea14016b10, 2014-10-19 (annotated)
- Committer:
- danielashercohen
- Date:
- Sun Oct 19 04:30:22 2014 +0000
- Revision:
- 0:86ea14016b10
- Child:
- 1:69c37f1ab7df
first sound from the TDA7419;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
danielashercohen | 0:86ea14016b10 | 1 | /** PreampTDA7419 Library |
danielashercohen | 0:86ea14016b10 | 2 | * |
danielashercohen | 0:86ea14016b10 | 3 | * @Author: Dan Cohen |
danielashercohen | 0:86ea14016b10 | 4 | */ |
danielashercohen | 0:86ea14016b10 | 5 | |
danielashercohen | 0:86ea14016b10 | 6 | #include "mbed.h" |
danielashercohen | 0:86ea14016b10 | 7 | #include "PreampTDA7419.h" |
danielashercohen | 0:86ea14016b10 | 8 | #include <stdio.h> |
danielashercohen | 0:86ea14016b10 | 9 | #include <string.h> |
danielashercohen | 0:86ea14016b10 | 10 | #include <inttypes.h> |
danielashercohen | 0:86ea14016b10 | 11 | |
danielashercohen | 0:86ea14016b10 | 12 | |
danielashercohen | 0:86ea14016b10 | 13 | |
danielashercohen | 0:86ea14016b10 | 14 | PreampTDA7419::PreampTDA7419(PinName sda, PinName scl): |
danielashercohen | 0:86ea14016b10 | 15 | _device(sda, scl) |
danielashercohen | 0:86ea14016b10 | 16 | { |
danielashercohen | 0:86ea14016b10 | 17 | _address = (TDA7419_ADDRESS<<1); |
danielashercohen | 0:86ea14016b10 | 18 | // _device.frequency(100000); |
danielashercohen | 0:86ea14016b10 | 19 | //_device.frequency(10000); |
danielashercohen | 0:86ea14016b10 | 20 | //_Comdelay=70; |
danielashercohen | 0:86ea14016b10 | 21 | } |
danielashercohen | 0:86ea14016b10 | 22 | |
danielashercohen | 0:86ea14016b10 | 23 | |
danielashercohen | 0:86ea14016b10 | 24 | void PreampTDA7419::setI2CAddress(uint8_t add) |
danielashercohen | 0:86ea14016b10 | 25 | { |
danielashercohen | 0:86ea14016b10 | 26 | _address = (add<<1); |
danielashercohen | 0:86ea14016b10 | 27 | } |
danielashercohen | 0:86ea14016b10 | 28 | |
danielashercohen | 0:86ea14016b10 | 29 | |
danielashercohen | 0:86ea14016b10 | 30 | int PreampTDA7419::i2c_write(char command, char value) { |
danielashercohen | 0:86ea14016b10 | 31 | int transmissionSuccessful; |
danielashercohen | 0:86ea14016b10 | 32 | _device.start(); |
danielashercohen | 0:86ea14016b10 | 33 | _device.write(_address); |
danielashercohen | 0:86ea14016b10 | 34 | _device.write(command); |
danielashercohen | 0:86ea14016b10 | 35 | _device.write(value); |
danielashercohen | 0:86ea14016b10 | 36 | _device.stop(); |
danielashercohen | 0:86ea14016b10 | 37 | return (transmissionSuccessful); |
danielashercohen | 0:86ea14016b10 | 38 | } |
danielashercohen | 0:86ea14016b10 | 39 |