(function(exports){
	'use strict'
	
	// Положение конфигурации
	var SERIAL_AT = 0xF800;
	
	
	exports.burn = function(firmware, fw_rev) {
		
		ui.progress(0);
		
		// Запрашиваем серийный номер
		var serial = ui.askNumber("Введите серийный номер:", 0, 999999999999999999);
		if (serial === undefined) return "Отменено";
		
		// Читаем файл с прошивкой
		var bin=require("scripts/IntelHex").load(firmware, [ { address: 0x08000000, size: 65536 } ])[0].data;
		
		// Добавляем серийник
		pack.u64(serial, bin, SERIAL_AT+0);
		pack.u16(1, bin, SERIAL_AT+8)	// version
		pack.u32(crc.crc32(bin, SERIAL_AT, 10), bin, SERIAL_AT+10);
		
		
		// Сохраняем файл для прошивки
		fs.writeBinary("tmp/pr_ax.bin", bin);
		
		// Запускаем программирование
		ui.progress(-1);
		var result=stm32.write("tmp/pr_ax.bin");
		erp.pr("RWCS-3921A", "PR-AX", fw_rev, serial, result);
		if (! result) return "Ошибка записи в чип";
		
		// Удаляем временный файл
		fs.remove("tmp/pr_ax.bin");
		
		
		// Успешно
		return "";
	};
	
})(typeof exports === 'undefined' ? this['_pr_ax_js']={} : exports);
