﻿	------------------------------------------------------------------------------------------------
	    Состав комплекта программного обеспечения для Linux
		адаптера радиальный каналов ARINC429
			 	PEX429-1
	------------------------------------------------------------------------------------------------

	driver 
		pex429LNX.c - исходный файл драйвера, требует компиляции для 
			конкретной версии ОС
		pex429LNX.h - содержит коды функций драйвера
		pex429LNXmacro.h - содержит библиотеку макросов
		Makefile - файл для компиляции драйвера
		pex429LNXguide.doc - описание драйвера  PEX429-1 для LINUX.

	examples - примеры программирования
		sngladdrPEX.c -	выходной канал однократно выдает массив из 256 параметров;
				входной канал принимает данные в адресном режиме;
				прерывания не используются.
		cycleFileIntrPEX.c -	выходной канал циклически выдает массив из 256 параметров;
				входной канал принимает данные в файловом режиме;
				в процессе выдачи происходит изменение одного из 
				выходных параметров;
				регистрируются прерывания по концу выдачи массива.
		globFileIntrDsPEX.c -	для 2-х выходных каналов задан режим глобальной 
				выдачи;
				один из этих каналов циклически выдает массив из 8 
				параметров с периодом выдачи 128*Т;
				входной канал принимает данные в файловом режиме;
				в процессе выдачи происходит изменение одного из 
				выходных параметров;
				регистрируются прерывания по концу выдачи массива и от
				разовой команды;
		miniPEX.c -	пример программирования на основе программной модели.
				
	test
		TVK_pex429LNX -    тест может работать непрерывно или с остановом по ошибке,
				с заглушкой или в режиме "Тест" адаптера, когда входные 
				линии подключены к выходным;
				режимы: 
				     входные каналы-прием по счетчику слов, без прерываний;
				     выходные каналы - циклический режим, с прерыванием по 
				концу выдачи массива первым каналом;
				     разовые команды - разрешено прерывание по логической 
				"1".

	lib 
		lib_pex429.c 	библиотека функций. 




	-----------------------------------------------------------
			Компиляция драйвера
	-----------------------------------------------------------


	Драйвер должен быть скомпилирован для конкретной версии ОС,
	для чего следует:

	1. определить текущую версию ядра
		
		uname -r
	  
	  например, это 	4.2.0-23-generic

	2. проверить, установлены ли  пакеты linux-headers-4.2.0-23-generic  и  build-essential; в случае необходимости установить их средствами операционной системы
	

    	3. в папке, содержащей исходный файл драйвера (и Makefile) выполнить команду

	make -C /lib/modules/$(uname -r)/build M=$PWD modules





	-----------------------------------------------------------
		Установка/удаление драйвера в системе
	-----------------------------------------------------------
		
	Для установки драйвера следует задать команду (с правами root)
	
		 insmod  ./pex429LNX.ko 

	В процессе выполнения команды создаются файлы устройств для всех модулей PEX429-3,
	установленных в системе, и выдается системное сообщение вида
	
	_____$ dmesg
	.....
	[ 8281.027416] pex429LNX:  initialization
	[ 8281.027420]            /dev/pex429_0  serial# 3170
	[ 8281.027455]            /dev/pex429_1  serial# 12514


	В случае, если модули отсутствуют, сообщение имеет вид

	_____$ dmesg
	.....
	[ 8550.502400] pex429LNX:  Sorry, devices were not found
	[ 8550.502400]   initialization failed
		
	Для удаления драйвера следует задать команду (с правами root)
	
		 rmmod  pex429LNX.ko  
	
	В процессе выполнения команды удаляются все файлы устройств и выдается системное
	сообщение

	_____$ dmesg
	.....
	[ 9058.127294] pex429LNX:  cleanup



	-----------------------------------------------------------
		диагностические сообщения при работе с драйвером
	-----------------------------------------------------------

	при успешном открытии устройства
	
	open: pex429_0  serial# 12345


	при закрытии устройства
	
	release: pex429_0  serial# 12345


