Секции
{$read} | Код секции выполняется при нажатии кнопки чтении памяти
{$write} | Код секции выполняется при нажатии кнопки записи памяти
{$erase} | Код секции выполняется при нажатии кнопки стирания памяти
{$verify} | Код секции выполняется при нажатии кнопки сравнения памяти
{$unlock} | Код секции выполняется при нажатии кнопки снятия защиты
Предопределенные переменные
_IC_Name | Название текущей выбранной микросхемы
_IC_Size | Размер, в байтах, текущей выбранной микросхемы
_IC_Page | Размер страницы, в байтах, текущей выбранной микросхемы
_SPI_SPEED_MAX | Максимально возможная частота для SPISetSpeed
Основные функции
Delay(ms); | Останавливает выполнение скрипта на ms миллисекунд
ShowMessage(text); | Аналог ShowMessage
LogPrint(text, color); | Выводит сообщение в лог Параметры: text текст сообщения Необязательные параметры: color цвет bgr
IntToHex(value, digits): string; | Аналог IntToHex
ProgressBar(inc, max, pos); | Устанавливает состояние ProgressBar Параметры: inc насколько увиличить позицию Необязательные параметры: max максимальная позиция ProgressBar
pos устанавливает конкретную позицию ProgressBar

CreateByteArray(size): variant; | Создает массив с типом элементов varbyte
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