From b8cf25e2ba80c484846437059563779d9ca923cc Mon Sep 17 00:00:00 2001 From: Joshua Drake Date: Fri, 3 Nov 2023 06:07:59 -0500 Subject: Initial commit. --- SPI.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 SPI.c (limited to 'SPI.c') diff --git a/SPI.c b/SPI.c new file mode 100644 index 0000000..c490ea1 --- /dev/null +++ b/SPI.c @@ -0,0 +1,74 @@ +/* + * File: SPI.c + * Author: josh + * + * Created on November 2, 2023, 4:37 AM + */ + + +#include "SPI.h" + + uint16_t WriteBuffer[MY_BUFFER_SIZE]; + uint16_t ReadBuffer[MY_BUFFER_SIZE]; + uint16_t writeData; + uint16_t readData; + uint8_t addr0; + uint8_t addr1; + bool write; + unsigned int total; + +/*do + { + total = MSSP1_SPI_Exchange8bitBuffer( &myWriteBuffer[total], MY_BUFFER_SIZE - total, &myWriteBuffer[total]); + + // Do something else... + + } while( total < MY_BUFFER_SIZE );*/ + + void Message_OUT(uint8_t Ohm_150, uint8_t Ohm_68, bool testLED) + { + if (Ohm_150 > 15) Ohm_150 = 15; + if (Ohm_68 > 5) Ohm_68 = 5; + WriteBuffer[0] = WriteBuffer[2] = WriteBuffer[4] = (write << 8) + (!write << 7) + 0b000000; + WriteBuffer[1] = (0xFF << Ohm_150) ^ (0xFF); + WriteBuffer[3] = (0xFF << (Ohm_150 - 8)) ^ (0xFF); + WriteBuffer[5] = (0xFF << (Ohm_68 - 4)) ^ (0xFF) + (testLED << 8); + if (Ohm_68 == 5) WriteBuffer[3]+= 0b10000000; + } + + void Message_BIM(uint8_t outputs[3]) + + void Message_MAPIN0(uint8_t outputs[3]) + + + void Message_MAPIN1(uint8_t outputs[3]) + + void Message_INST(void) + + void Message_DAGIOL(uint8_t outputs[3]) + + void Message_DAGOSM(void) + + void Message_DAGOLON(void) + + void Message_DAGOLONEN(uint8_t outputs[3]) + + void Message_HWCR(uint8_t outputs[3]) + + void Message_HWCROCL(uint8_t outputs[3]) + + void Message_HWCRPWM(uint8_t outputs[3]) + + void Message_PWMCR0(uint16_t outputs[3]) + + void Message_PWMCR1(uint16_t outputs[3]) + + void Message_PWMOUT(uint8_t outputs[3]) + + void Message_PWMMAP(uint8_t outputs[3]) + { + WriteBuffer[0] = WriteBuffer[2] = WriteBuffer[4] = (write << 8) + (!write << 7) + 0b100101; + WriteBuffer[1] = outputs[0]; + WriteBuffer[3] = outputs[1]; + WriteBuffer[5] = outputs[2]; + } -- cgit v1.2.3