//---------------------------------------------------------------------------
#ifndef ATmega8H
#define ATmega8H
//---------------------------------------------------------------------------
#include <Classes.hpp>
//---------------------------------------------------------------------------
//--- Area3:  0 - Low Byte, 1 - High byte, 3 - Lock byte
//--- functions output: true - success, false - fail ------------------------
//---------------------------------------------------------------------------
bool ATmega8_ProgrammingEnable();                    // переключение в режим программирования
bool ATmega8_ChipErase();                            // стирание EEPROM и flash
bool ATmega8_ReadProgramMemory(unsigned int, bool);  // чтение байта программы по указанному адресу, 0 - читать, 1 - проверять
bool ATmega8_LoadProgramMemoryPage(unsigned int);    // загрузка байта программы в страницу 16-ти словного буфера по указанному адресу
bool ATmega8_WriteProgramMemoryPage(unsigned int);   // запись загруженной 16-словной страницы программы по указанному адресу
bool ATmega8_ReadEEPROMMemory(unsigned int, bool);   // чтение байта EEPROM по указанному адресу, 0 - читать, 1 - проверять
bool ATmega8_WriteEEPROMMemory(unsigned int);        // запись байта в EEPROM по указанному адресу
//---
bool ATmega8_ReadLockBits();                    // чтение Lock-битов (заполнит байт Area3[2])
bool ATmega8_WriteLockBits();                   // запись Lock-битов (из байта Area3[2])
unsigned int ATmega8_ReadSignatureBytes();      // чтение байтов сигнатуры (вернёт идентификатор чипа)
bool ATmega8_WriteFuseBits();                   // запись Fuse-битов (Low Fuse Byte      - Area3[0])
bool ATmega8_WriteFuseHighBits();               // запись Fuse-битов (High Fuse Byte     - Area3[1])
bool ATmega8_ReadFuseBits();                    // чтение Fuse-битов (Low Fuse Byte      - Area3[0])
bool ATmega8_ReadFuseHighBits();                // чтение Fuse-битов (High Fuse Byte     - Area3[1])
bool ATmega8_ReadCalibrationBytes();            // чтение байтов калибровки (сохраняем их в Area4)
//---------------------------------------------------------------------------
#endif
