Commit a0d0bd31 authored by Jerome Legrand's avatar Jerome Legrand

taste 2.0.6

parent 6dbba410
-- type hwlibrary
package ocarina_buses
public
bus generic_bus
end generic_bus;
bus implementation generic_bus.i
end generic_bus.i;
bus dummy_bus
end dummy_bus;
bus implementation dummy_bus.i
end dummy_bus.i;
bus ip
end ip;
bus implementation ip.pohic
end ip.pohic;
bus implementation ip.i
subcomponents
asn : virtual bus asn1.i;
pohic : virtual bus pohi.c;
pohiada : virtual bus pohi.ada;
end ip.i;
bus implementation ip.pohiada
end ip.pohiada;
bus spacewire
end spacewire;
bus implementation spacewire.generic
end spacewire.generic;
bus serial
end serial;
bus implementation serial.generic
end serial.generic;
----------------------
-- Virtual buses --
----------------------
virtual bus raw
end raw;
virtual bus implementation raw.i
end raw.i;
virtual bus asn1
end asn1;
virtual bus implementation asn1.i
end asn1.i;
virtual bus pohi
end pohi;
virtual bus implementation pohi.c
end pohi.c;
virtual bus implementation pohi.ada
end pohi.ada;
end ocarina_buses;
package ocarina_drivers
public
with deployment;
with ocarina_buses;
with Data_Model;
with Base_Types;
with ocarina_drivers_leon_serial;
with ocarina_drivers_rasta_1553;
with ocarina_drivers_rasta_serial;
with ocarina_drivers_rasta_spacewire;
with ocarina_drivers_rtems_ne2000;
with ocarina_drivers_star_dundee_spacewire_brick;
with ocarina_drivers_udp_exarm;
with ocarina_drivers_serial;
with ocarina_drivers_ip_pohic;
with ocarina_drivers_exarm_ni_6071e_analog;
with ocarina_drivers_exarm_ni_6071e_digital;
with ocarina_drivers_generic_keyboard;
with GRUART;
with GRSPW;
with Native_UART;
with TCP_IP_Protocol;
------------------------
-- Configuration Type --
------------------------
data configuration_type_ip
properties
Type_Source_Name => "IP-Conf-T";
Deployment::ASN1_Module_Name => "POHICDRIVER-IP";
Source_Language => (ASN1);
Source_Text => ("/home/maxime/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/ip.asn" , "drivers/configuration/ip.h");
end configuration_type_ip;
data configuration_type_serial
properties
Type_Source_Name => "Serial-Conf-T";
Deployment::ASN1_Module_Name => "POHICDRIVER-UART";
Source_Language => (ASN1);
Source_Text => ("/home/maxime/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/serial.asn", "drivers/configuration/serial.h");
end configuration_type_serial;
data configuration_type_spacewire
properties
Type_Source_Name => "Spacewire-Conf-T";
Deployment::ASN1_Module_Name => "POHICDRIVER-SPACEWIRE";
Source_Language => (ASN1);
Source_Text => ("/home/maxime/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/spacewire.asn", "drivers/configuration/spacewire.h");
end configuration_type_spacewire;
--------------
-- Keyboard --
--------------
device generic_keyboard
features
key_pressed : out data port Base_Types::Character;
properties
Deployment::Driver_Name => "generic_keyboard";
Device_Driver => classifier (ocarina_drivers_generic_keyboard::generic_keyboard_driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_generic_keyboard::spg_generic_keyboard_init);
end generic_keyboard;
device implementation generic_keyboard.linux
end generic_keyboard.linux;
-------------------
-- LEON ETHERNET --
-------------------
device leon_ethernet
features
link : requires bus access ocarina_buses::ip.i;
end leon_ethernet;
device implementation leon_ethernet.raw
properties
Deployment::Driver_Name => "eth_leon";
Device_Driver => classifier (ocarina_drivers_leon_eth::eth_driver.leon);
Initialize_Entrypoint => classifier (ocarina_drivers_leon_eth::spg_leon_eth_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end leon_ethernet.raw;
------------------
-- RASTA SERIAL --
------------------
device leon_serial
features
link : requires bus access ocarina_buses::serial.generic;
end leon_serial;
device implementation leon_serial.raw
properties
Deployment::Driver_Name => "serial_leon";
Device_Driver => classifier (ocarina_drivers_leon_serial::serial_driver.leon);
Initialize_Entrypoint => classifier (ocarina_drivers_leon_serial::spg_serial_init_leon);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end leon_serial.raw;
device implementation leon_serial.raw_sender
properties
Deployment::Driver_Name => "serial_leon_sender";
Device_Driver => classifier (ocarina_drivers_leon_serial::serial_driver.leon_sender);
Initialize_Entrypoint => classifier (ocarina_drivers_leon_serial::spg_serial_init_leon_sender);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end leon_serial.raw_sender;
----------------
-- RASTA 1553 --
----------------
device rasta_1553
end rasta_1553;
device implementation rasta_1553.terminal
properties
Deployment::Driver_Name => "1553_rasta";
Device_Driver => classifier (ocarina_drivers_rasta_1553::if1553_driver.rasta_terminal);
Initialize_Entrypoint => classifier (ocarina_drivers_rasta_1553::spg_1553_init_rasta_terminal);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_1553.terminal;
device implementation rasta_1553.controller_sender_only
properties
Deployment::Driver_Name => "1553_rasta";
Device_Driver => classifier (ocarina_drivers_rasta_1553::if1553_driver.rasta_controller_sender_only);
Initialize_Entrypoint => classifier (ocarina_drivers_rasta_1553::spg_1553_init_rasta_controller);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_1553.controller_sender_only;
------------------
-- RASTA SERIAL --
------------------
device rasta_serial
features
link : requires bus access ocarina_buses::serial.generic;
end rasta_serial;
device implementation rasta_serial.raw
properties
Deployment::Driver_Name => "serial_rasta";
Device_Driver => classifier (ocarina_drivers_rasta_serial::serial_driver.rasta);
Initialize_Entrypoint => classifier (ocarina_drivers_rasta_serial::spg_serial_init_rasta);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end rasta_serial.raw;
device implementation rasta_serial.pohiada
properties
Deployment::Driver_Name => "serial_rasta";
Implemented_As => classifier (GRUART::Driver_GRUART_Protocol.impl);
Initialize_Entrypoint => classifier (GRUART::Initialize);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
Allowed_Processor_Binding_Class => (classifier(Generic_Native::Generic_Processor.impl),classifier(GR_CPCI_X4CV::LEON2.impl));
end rasta_serial.pohiada;
--------------------------------------------------
-- USB BRICK (STAR DUNDEE) DEVICE FOR SPACEWIRE --
--------------------------------------------------
device usb_brick_spacewire
features
link : requires bus access ocarina_buses::spacewire.generic;
end usb_brick_spacewire;
device implementation usb_brick_spacewire.pohic
properties
Deployment::Driver_Name => "spacewire_usb_brick";
Device_Driver => classifier (ocarina_drivers_star_dundee_spacewire_brick::driver.usb_brick);
Initialize_Entrypoint => classifier (ocarina_drivers_star_dundee_spacewire_brick::spg_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end usb_brick_spacewire.pohic;
---------------------
-- RASTA SPACEWIRE --
---------------------
device rasta_spacewire
features
link : requires bus access ocarina_buses::spacewire.generic;
end rasta_spacewire;
device implementation rasta_spacewire.pohic
properties
Deployment::Driver_Name => "spacewire_rasta";
Device_Driver => classifier (ocarina_drivers_rasta_spacewire::spacewire_driver.rasta);
Initialize_Entrypoint => classifier (ocarina_drivers_rasta_spacewire::spg_spacewire_init_rasta);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_spacewire.pohic;
device implementation rasta_spacewire.pohiada
properties
Deployment::Driver_Name => "spacewire_rasta";
Implemented_As => classifier (GRSPW::Driver_GRSPW_Protocol.impl);
Initialize_Entrypoint => classifier (GRSPW::Initialize);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_spacewire.pohiada;
---------------------
-- SCOC3 SPACEWIRE --
---------------------
device scoc3_spacewire
features
link : requires bus access ocarina_buses::spacewire.generic;
end scoc3_spacewire;
device implementation scoc3_spacewire.pohic
properties
Deployment::Driver_Name => "spacewire_scoc3";
Device_Driver => classifier (ocarina_drivers_scoc3_spacewire::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_scoc3_spacewire::spg_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end scoc3_spacewire.pohic;
---------------------------
-- Generic serial driver --
---------------------------
device generic_serial
features
link : requires bus access ocarina_buses::serial.generic;
end generic_serial;
device implementation generic_serial.raw
properties
Deployment::Driver_Name => "serial_linux";
Device_Driver => classifier (ocarina_drivers_serial::serial_driver.linux);
Initialize_Entrypoint => classifier (ocarina_drivers_serial::spg_serial_init_linux);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end generic_serial.raw;
device implementation generic_serial.pohiada
properties
Deployment::Driver_Name => "serial_linux";
Implemented_As =>
classifier (Native_UART::Driver_Native_UART_Protocol.impl);
Initialize_Entrypoint => classifier (Native_UART::Initialize);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end generic_serial.pohiada;
device implementation generic_serial.raw_sender
properties
Deployment::Driver_Name => "serial_linux_sender";
Device_Driver => classifier (ocarina_drivers_serial::serial_driver.linux_sender);
Initialize_Entrypoint => classifier (ocarina_drivers_serial::spg_serial_init_linux_sender);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end generic_serial.raw_sender;
device implementation generic_serial.raw_receiver
properties
Deployment::Driver_Name => "serial_linux_receiver";
Device_Driver => classifier (ocarina_drivers_serial::serial_driver.linux_receiver);
Initialize_Entrypoint => classifier (ocarina_drivers_serial::spg_serial_init_linux_receiver);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end generic_serial.raw_receiver;
-------------------------------
-- Generic sockets/ip driver --
-------------------------------
device generic_sockets_ip
features
link : requires bus access ocarina_buses::ip.i;
end generic_sockets_ip;
device implementation generic_sockets_ip.pohic
properties
Deployment::Driver_Name => "sockets";
Device_Driver => classifier (ocarina_drivers_ip_pohic::sockets_impl.i);
Initialize_Entrypoint => classifier (ocarina_drivers_ip_pohic::spg_sockets_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end generic_sockets_ip.pohic;
device implementation generic_sockets_ip.pohiada
properties
Deployment::Driver_Name => "socketsnew";
Implemented_As => classifier (TCP_IP_Protocol::Driver_TCP_IP_Protocol.impl);
Device_Driver => classifier (TCP_IP_Protocol::Driver_TCP_IP_Protocol.impl);
Initialize_Entrypoint => classifier (TCP_IP_Protocol::Initialize);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end generic_sockets_ip.pohiada;
------------------
-- RTEMS NE2000 --
------------------
device rtems_ne2000
features
link : requires bus access ocarina_buses::ip.i;
end rtems_ne2000;
device implementation rtems_ne2000.ip_pohic
properties
Deployment::Driver_Name => "rtems_ne2000_sockets";
Device_Driver => classifier (ocarina_drivers_rtems_ne2000::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_rtems_ne2000::init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rtems_ne2000.ip_pohic;
------------------------------------------
-- Exarm UDP driver --
------------------------------------------
-- This driver is used to communicate --
-- with the exarm robot and also --
-- the Matlab simulator. --
------------------------------------------
device exarm_ip
features
link : requires bus access ocarina_buses::ip.i;
end exarm_ip;
device implementation exarm_ip.vr_udp
properties
Deployment::Driver_Name => "exarm";
Device_Driver => classifier (ocarina_drivers_udp_exarm::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_udp_exarm::init);
end exarm_ip.vr_udp;
data exarm_protocol_data
end exarm_protocol_data;
data implementation exarm_protocol_data.vr extends ocarina_drivers_udp_exarm::protocol.vr
properties
Data_Model::Data_Representation => Struct;
end exarm_protocol_data.vr;
data implementation exarm_protocol_data.robot extends ocarina_drivers_udp_exarm::protocol.robot
properties
Data_Model::Data_Representation => Struct;
end exarm_protocol_data.robot;
---------------------------------------
-- Devices for the Exo skeleton --
-- National Instruments PCI-6071E --
---------------------------------------
-- This device is used to make data --
-- acquisition of the EXARM robot. --
---------------------------------------
device exarm_ni_6071e_analog
features
data1 : out data port Base_Types::Float_64;
data2 : out data port Base_Types::Float_64;
data3 : out data port Base_Types::Float_64;
data4 : out data port Base_Types::Float_64;
data5 : out data port Base_Types::Float_64;
data6 : out data port Base_Types::Float_64;
data7 : out data port Base_Types::Float_64;
data8 : out data port Base_Types::Float_64;
data9 : out data port Base_Types::Float_64;
data10 : out data port Base_Types::Float_64;
data11 : out data port Base_Types::Float_64;
data12 : out data port Base_Types::Float_64;
data13 : out data port Base_Types::Float_64;
data14 : out data port Base_Types::Float_64;
data15 : out data port Base_Types::Float_64;
data16 : out data port Base_Types::Float_64;
end exarm_ni_6071e_analog;
device implementation exarm_ni_6071e_analog.i
properties
Deployment::Driver_Name => "exarm_ni_6071e_analog";
Device_Driver => classifier (ocarina_drivers_exarm_ni_6071e_analog::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_exarm_ni_6071e_analog::spg_init);
end exarm_ni_6071e_analog.i;
device exarm_ni_6071e_digital
features
data1 : out data port Base_Types::Unsigned_8;
data2 : out data port Base_Types::Unsigned_8;
end exarm_ni_6071e_digital;
device implementation exarm_ni_6071e_digital.i
properties
Deployment::Driver_Name => "exarm_ni_6071e_digital";
Device_Driver => classifier (ocarina_drivers_exarm_ni_6071e_digital::driver.i);
Initialize_Entrypoint => classifier (ocarina_drivers_exarm_ni_6071e_digital::spg_init);
end exarm_ni_6071e_digital.i;
end ocarina_drivers;
package ocarina_types
public
with Data_Model;
data integer
end integer;
data implementation integer.i
properties
Data_Model::Data_Representation => integer;
end integer.i;
data float
end float;
data implementation float.i
properties
Data_Model::Data_Representation => float;
end float.i;
data boolean
end boolean;
data implementation boolean.i
properties
Data_Model::Data_Representation => boolean;
end boolean.i;
end ocarina_types;
package ocarina_drivers_exarm_ni_6071e_analog
public
with Base_Types;
with Deployment;
subprogram spg_init
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_exarm_ni_6071e_analog_init";
end spg_init;
subprogram spg_poller
features
data1 : out parameter Base_Types::Float_64;
data2 : out parameter Base_Types::Float_64;
data3 : out parameter Base_Types::Float_64;
data4 : out parameter Base_Types::Float_64;
data5 : out parameter Base_Types::Float_64;
data6 : out parameter Base_Types::Float_64;
data7 : out parameter Base_Types::Float_64;
data8 : out parameter Base_Types::Float_64;
data9 : out parameter Base_Types::Float_64;
data10 : out parameter Base_Types::Float_64;
data11 : out parameter Base_Types::Float_64;
data12 : out parameter Base_Types::Float_64;
data13 : out parameter Base_Types::Float_64;
data14 : out parameter Base_Types::Float_64;
data15 : out parameter Base_Types::Float_64;
data16 : out parameter Base_Types::Float_64;
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_exarm_ni_6071e_analog_poller";
end spg_poller;
thread thr_poller
features
data1 : out data port Base_Types::Float_64;
data2 : out data port Base_Types::Float_64;
data3 : out data port Base_Types::Float_64;
data4 : out data port Base_Types::Float_64;
data5 : out data port Base_Types::Float_64;
data6 : out data port Base_Types::Float_64;
data7 : out data port Base_Types::Float_64;
data8 : out data port Base_Types::Float_64;
data9 : out data port Base_Types::Float_64;
data10 : out data port Base_Types::Float_64;
data11 : out data port Base_Types::Float_64;
data12 : out data port Base_Types::Float_64;
data13 : out data port Base_Types::Float_64;
data14 : out data port Base_Types::Float_64;
data15 : out data port Base_Types::Float_64;
data16 : out data port Base_Types::Float_64;
end thr_poller;
thread implementation thr_poller.i
calls
mycall : {
pspg : subprogram spg_poller;
};
connections
parameter pspg.data1 -> data1;
parameter pspg.data2 -> data2;
parameter pspg.data3 -> data3;
parameter pspg.data4 -> data4;
parameter pspg.data5 -> data5;
parameter pspg.data6 -> data6;
parameter pspg.data7 -> data7;
parameter pspg.data8 -> data8;
parameter pspg.data9 -> data9;
parameter pspg.data10 -> data10;
parameter pspg.data11 -> data11;
parameter pspg.data12 -> data12;
parameter pspg.data13 -> data13;
parameter pspg.data14 -> data14;
parameter pspg.data15 -> data15;
parameter pspg.data16 -> data16;
properties
Period => 100 ms;
Dispatch_Protocol => Periodic;
end thr_poller.i;
abstract driver
features
data1 : out data port Base_Types::Float_64;
data2 : out data port Base_Types::Float_64;
data3 : out data port Base_Types::Float_64;
data4 : out data port Base_Types::Float_64;
data5 : out data port Base_Types::Float_64;
data6 : out data port Base_Types::Float_64;
data7 : out data port Base_Types::Float_64;
data8 : out data port Base_Types::Float_64;
data9 : out data port Base_Types::Float_64;
data10 : out data port Base_Types::Float_64;
data11 : out data port Base_Types::Float_64;
data12 : out data port Base_Types::Float_64;
data13 : out data port Base_Types::Float_64;
data14 : out data port Base_Types::Float_64;
data15 : out data port Base_Types::Float_64;
data16 : out data port Base_Types::Float_64;
end driver;
abstract implementation driver.i
subcomponents
ni6071e_analog_poller : thread thr_poller.i;
connections
port ni6071e_analog_poller.data1 -> data1;
port ni6071e_analog_poller.data2 -> data2;
port ni6071e_analog_poller.data3 -> data3;
port ni6071e_analog_poller.data4 -> data4;
port ni6071e_analog_poller.data5 -> data5;
port ni6071e_analog_poller.data6 -> data6;
port ni6071e_analog_poller.data7 -> data7;
port ni6071e_analog_poller.data8 -> data8;
port ni6071e_analog_poller.data9 -> data9;
port ni6071e_analog_poller.data10 -> data10;
port ni6071e_analog_poller.data11 -> data11;
port ni6071e_analog_poller.data12 -> data12;
port ni6071e_analog_poller.data13 -> data13;
port ni6071e_analog_poller.data14 -> data14;
port ni6071e_analog_poller.data15 -> data15;
port ni6071e_analog_poller.data16 -> data16;
end driver.i;
end ocarina_drivers_exarm_ni_6071e_analog;
package ocarina_drivers_exarm_ni_6071e_digital
public
with Base_Types;
with Deployment;
subprogram spg_init
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_exarm_ni_6071e_digital_init";
end spg_init;
subprogram spg_poller
features
data1 : out parameter Base_Types::Unsigned_32;
data2 : out parameter Base_Types::Unsigned_32;
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_exarm_ni_6071e_digital_poller";
end spg_poller;
thread thr_poller
features
data1 : out data port Base_Types::Unsigned_32;
data2 : out data port Base_Types::Unsigned_32;
end thr_poller;
thread implementation thr_poller.i
calls
mycall : {
pspg : subprogram spg_poller;
};
connections
parameter pspg.data1 -> data1;
parameter pspg.data2 -> data2;
properties
Period => 100 ms;
Dispatch_Protocol => Periodic;
end thr_poller.i;
abstract driver
features
data1 : out data port Base_Types::Unsigned_32;
data2 : out data port Base_Types::Unsigned_32;
properties
Deployment::Version => "0.1beta";
Deployment::Help => "Write your ASN.1 configuration here";
end driver;
abstract implementation driver.i
subcomponents
ni6071e_digital_poller : thread thr_poller.i;
connections
port ni6071e_digital_poller.data1 -> data1;
port ni6071e_digital_poller.data2 -> data2;
end driver.i;
end ocarina_drivers_exarm_ni_6071e_digital;
package ocarina_drivers_generic_keyboard
public
with Base_Types;
with Deployment;
subprogram spg_generic_keyboard_init
properties
Source_Language => (C);
Source_Name => "__po_hi_driver_generic_keyboard_init";