70 lines
1.4 KiB
C
70 lines
1.4 KiB
C
/*
|
|
* m95512.c
|
|
*
|
|
* Created on: Nov 1, 2023
|
|
* Author: Warner
|
|
*/
|
|
|
|
#include "m95512.h"
|
|
#include "fsl_spi.h"
|
|
#include "spi.h"
|
|
#include "timer.h"
|
|
|
|
#define M95512_BUFFER_SIZE (8)
|
|
|
|
extern uint8_t Port_State[];
|
|
extern spi_transfer_t SPI0_xfer;
|
|
|
|
|
|
|
|
/* BB 11/10/23
|
|
* m95512.c functions should ONLY be used by eeprom.c functions!
|
|
* This is because the CTIMER0 interrupt corrupts EEPROM data
|
|
* eeprom.c functions stop CTIMER0 while accessing the EEPROM
|
|
*/
|
|
|
|
|
|
status_t M95512_WriteEnable(void){
|
|
status_t reslut; //not used, because function SPI0_SendBytes() has no return.
|
|
uint8_t srcBuff[M95512_BUFFER_SIZE];
|
|
|
|
srcBuff[0] = WRITE_ENABLE;
|
|
SPI0_SendBytes(srcBuff, 1, E2PROM);
|
|
|
|
return reslut;
|
|
}
|
|
|
|
status_t M95512_WriteDisable(void){
|
|
status_t reslut;
|
|
uint8_t srcBuff[M95512_BUFFER_SIZE];
|
|
|
|
srcBuff[0] = WRITE_DISABLE;
|
|
SPI0_SendBytes(srcBuff, 1, E2PROM);
|
|
|
|
return reslut;
|
|
}
|
|
|
|
status_t M95512_ReadStatus(uint8_t *pdata){
|
|
status_t reslut;
|
|
uint8_t srcBuff[M95512_BUFFER_SIZE];
|
|
uint8_t destBuff[M95512_BUFFER_SIZE];
|
|
|
|
srcBuff[0] = READ_STATUS_REG;
|
|
SPI0_SendBytes(srcBuff, 2, E2PROM);
|
|
*pdata = SPI0_xfer.rxData[1];
|
|
|
|
return reslut;
|
|
}
|
|
|
|
status_t M95512_WriteStatus(uint8_t *pdata){
|
|
status_t reslut;
|
|
uint8_t srcBuff[M95512_BUFFER_SIZE];
|
|
|
|
srcBuff[0] = WRITE_STATUS_REG;
|
|
srcBuff[1] = *pdata;
|
|
SPI0_SendBytes(srcBuff, 2, E2PROM);
|
|
|
|
return reslut;
|
|
}
|
|
|