You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.8 KiB
72 lines
1.8 KiB
/* ************************************************************ */ |
|
/* DataFlash_APM2 Log library */ |
|
/* ************************************************************ */ |
|
#ifndef __DATAFLASH_APM2_H__ |
|
#define __DATAFLASH_APM2_H__ |
|
|
|
#include "DataFlash.h" |
|
|
|
class DataFlash_APM2 : public DataFlash_Class |
|
{ |
|
private: |
|
// DataFlash Log variables... |
|
unsigned char df_BufferNum; |
|
unsigned char df_Read_BufferNum; |
|
unsigned int df_BufferIdx; |
|
unsigned int df_Read_BufferIdx; |
|
unsigned int df_PageAdr; |
|
unsigned int df_Read_PageAdr; |
|
unsigned char df_Read_END; |
|
unsigned char df_Stop_Write; |
|
|
|
uint16_t df_FileNumber; |
|
uint16_t df_FilePage; |
|
|
|
//Methods |
|
unsigned char BufferRead (unsigned char BufferNum, uint16_t IntPageAdr); |
|
void BufferWrite (unsigned char BufferNum, uint16_t IntPageAdr, unsigned char Data); |
|
void BufferToPage (unsigned char BufferNum, uint16_t PageAdr, unsigned char wait); |
|
void PageToBuffer(unsigned char BufferNum, uint16_t PageAdr); |
|
void WaitReady(); |
|
unsigned char ReadStatusReg(); |
|
unsigned char ReadStatus(); |
|
uint16_t PageSize(); |
|
|
|
unsigned char SPI_transfer(unsigned char data); |
|
void CS_inactive(); |
|
void CS_active(); |
|
|
|
|
|
public: |
|
unsigned char df_manufacturer; |
|
unsigned char df_device_0; |
|
unsigned char df_device_1; |
|
uint16_t df_PageSize; |
|
|
|
DataFlash_APM2(); // Constructor |
|
void Init(); |
|
void ReadManufacturerID(); |
|
bool CardInserted(); |
|
int16_t GetPage(); |
|
int16_t GetWritePage(); |
|
void PageErase (uint16_t PageAdr); |
|
void ChipErase (); |
|
// Write methods |
|
void StartWrite(int16_t PageAdr); |
|
void FinishWrite(); |
|
void WriteByte(unsigned char data); |
|
void WriteInt(int16_t data); |
|
void WriteLong(int32_t data); |
|
|
|
// Read methods |
|
void StartRead(int16_t PageAdr); |
|
unsigned char ReadByte(); |
|
int16_t ReadInt(); |
|
int32_t ReadLong(); |
|
|
|
void SetFileNumber(uint16_t FileNumber); |
|
uint16_t GetFileNumber(); |
|
uint16_t GetFilePage(); |
|
}; |
|
|
|
#endif
|
|
|