Секции
{$read} Код секции выполняется при нажатии кнопки чтении памяти
{$write} Код секции выполняется при нажатии кнопки записи памяти
{$erase} Код секции выполняется при нажатии кнопки стирания памяти
{$verify} Код секции выполняется при нажатии кнопки сравнения памяти
{$unlock} Код секции выполняется при нажатии кнопки снятия защиты
Предопределенные переменные
_IC_Name Название текущей выбранной микросхемы 
_IC_Size Размер, в байтах, текущей выбранной микросхемы
_IC_Spare Размер резервной области, в байтах, выбранного в данный момент чипа SPI NAND
_IC_Page Размер страницы, в байтах, текущей выбранной микросхемы 
_SPI_SPEED_MAX Максимально возможная частота для SPISetSpeed
Основные функции
ShowMessage(text+'\n'+text);

Аналог ShowMessage(используйте строку '\ n' для нескольких строк)

LogPrint(text);

Выводит сообщение в лог
Параметры:
   text текст сообщения

IntToHex(value, digits): string;

 Аналог IntToHex

ProgressBar(inc, max, pos);

 Устанавливает состояние ProgressBar
Параметры:
   inc насколько увиличить позицию
Необязательные параметры:
   max максимальная позиция ProgressBar
   pos устанавливает конкретную позицию ProgressBar

CreateByteArray(size): variant;

Создает массив с типом элементов varbyte

CreateStringArray(size): variant;

Создает массив строк

GetArrayItem(array, index): variant;

Возвращает значение элемента массива

SetArrayItem(array, index, value);

Устанавливает значение элемента массива

ReadToEditor(size, position, buffer, ...);

Записывает данные из буфера в редактор размером size в позицию position

WriteFromEditor(size, position, buffer, ...);

Записывает данные из редактора размером size с позиции position

GetEditorDataSize: longword;

Возвращает размер данных в редакторе

Работа с SPI
SPIEnterProgMode(speed): boolean;

Инициализирует состояние пинов для SPI и устанавливает частоту SPI  
  Параметры:
    speed
    _SPI_SPEED_MAX = AvrIsp 8(4) MHz / USbAsp 3 MHz
 Если частота не установлена возвращает false
 Игнорируется для устройств с фиксированной частотой

SPIExitProgMode();

Отключает пины SPI

SPIRead(cs, size, buffer, ...): integer;

Читает данные в буфер  
   Параметры:  
     cs если cs=1 отпускать Chip Select после чтения данных  
     size размер данных в байтах  
     buffer переменные для хранения данных или массив созданный CreateByteArray  
   Возвращает количество прочитанных байт

SPIWrite(cs, size, buffer, ...): integer;

Записывает данные из буфера  
   Параметры:  
     cs если cs=1 отпускать Chip Select после записи данных  
     size размер данных в байтах  
     buffer переменные с данными или массив созданный CreateByteArray  
   Возвращает количество записанных байт

SPIReadToEditor(cs, size): integer;

Читает данные в редактор  
   Параметры:  
     cs если cs=1 отпускать Chip Select после чтения данных  
     size размер данных в байтах  
   Возвращает количество прочитанных байт

SPIWriteFromEditor(cs, size, position): integer;

Записывает данные из редактора размером size с позиции position  
   Параметры:  
     cs если cs=1 отпускать Chip Select после записи данных  
     size размер данных в байтах  
     position позиция в редакторе  
   Возвращает количество записанных байт

Работа с I2C
I2CEnterProgMode();

 Инициализирует состояние пинов

I2cExitProgMode();

 Отключает пины

I2CReadWrite(DevAddr, wsize, rsize, wbuffer, rbuffer): integer;

Записывает/читае данные из буферов  
   Параметры:  
     DevAddr адрес устройства  
     size размер данных в байтах  
     buffer переменные с данными или массив созданный CreateByteArray  
   Возвращает количество записанных + прочитанных байт
   *Если rsize=0 можно опустить параметр rbuffer

I2CStart();

Используется вместе с I2CReadByte и I2CWriteByte

I2CStop();

Используется вместе с I2CReadByte и I2CWriteByte

I2CReadByte(ack: boolean): byte;

Читает байт данных и отправляет ack/nack

I2CWriteByte(data): boolean;

Записывает байт данных и возвращает ack/nack