Commit 99ecab1c by taste
parents 455921a5 b7a95995
......@@ -86,7 +86,9 @@ public
with ocarina_drivers_rasta_spacewire;
with ocarina_drivers_rtems_ne2000;
with ocarina_drivers_grspw_packet;
with ocarina_drivers_apbuart_serial;
with ocarina_drivers_greth;
with ocarina_drivers_star_dundee_spacewire_brick;
with ocarina_drivers_udp_exarm;
......@@ -166,6 +168,13 @@ public
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end leon_ethernet.raw;
device implementation leon_ethernet.greth
properties
Deployment::Driver_Name => "greth";
Device_Driver => classifier (ocarina_drivers_greth::eth_driver.leon);
Initialize_Entrypoint => classifier (ocarina_drivers_greth::spg_greth_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end leon_ethernet.greth;
------------------
-- RASTA SERIAL --
......@@ -232,6 +241,14 @@ public
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end rasta_serial.raw;
device implementation rasta_serial.apbuart_drvmgr
properties
Deployment::Driver_Name => "apbuart_serial";
Device_Driver => classifier (ocarina_drivers_apbuart_serial::serial_driver.impl);
Initialize_Entrypoint => classifier (ocarina_drivers_apbuart_serial::spg_serial_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end rasta_serial.apbuart_drvmgr;
device implementation rasta_serial.pohiada
properties
Deployment::Driver_Name => "serial_rasta";
......@@ -2492,3 +2509,135 @@ public
end grspw_packet_driver.rasta;
end ocarina_drivers_grspw_packet;
package ocarina_drivers_apbuart_serial
public
-- This driver works for RTEMS 5 (presumably RTEMS 4.11) based on
-- drvmgr driver subsystem, using GRSPW Packet driver.
--
-- See Chapter 18 of RCC 1.3 manual
with Deployment;
with ocarina_buses;
with ocarina_drivers;
subprogram spg_serial_poller
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_serial_poller";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_serial.c");
end spg_serial_poller;
subprogram spg_serial_sender
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_serial_sender";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_serial.c");
end spg_serial_sender;
subprogram spg_serial_init
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_serial_init";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_serial.c");
end spg_serial_init;
thread serial_poller
end serial_poller;
thread implementation serial_poller.impl
calls
mycall : {
pspg : subprogram spg_serial_poller;
};
properties
Period => 1ms;
Dispatch_Protocol => Background;
end serial_poller.impl;
abstract serial_driver
properties
Deployment::Configuration_Type => classifier (ocarina_drivers::configuration_type_serial);
Deployment::Version => "0.1beta";
Deployment::Help => "Write your ASN.1 configuration here";
end serial_driver;
abstract implementation serial_driver.impl
subcomponents
receiver_apbuart_serial : thread serial_poller.impl;
sender : subprogram spg_serial_sender;
end serial_driver.impl;
end ocarina_drivers_apbuart_serial;
package ocarina_drivers_greth
public
with Deployment;
with ocarina_buses;
with ocarina_drivers;
-- This driver works for RTEMS 5 (presumably RTEMS 4.11) based on
-- drvmgr driver subsystem, using GRETH driver.
--
-- No chapter in RCC 1.3 manual
subprogram spg_greth_poller
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_ethernet_poller";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_ethernet.c");
end spg_greth_poller;
subprogram spg_greth_sender
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_ethernet_sender";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_ethernet.c");
end spg_greth_sender;
subprogram spg_greth_init
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_ethernet_init";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_ethernet.c");
end spg_greth_init;
thread thr_poller
end thr_poller;
thread implementation thr_poller.i
calls
mycall : {
pspg : subprogram spg_greth_poller;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end thr_poller.i;
abstract eth_driver
properties
Deployment::Configuration_Type => classifier (ocarina_drivers::configuration_type_ip);
Deployment::Version => "0.1beta";
Deployment::Help => "Write your ASN.1 configuration here";
end eth_driver;
abstract implementation eth_driver.leon
subcomponents
sender : subprogram spg_greth_sender;
end eth_driver.leon;
abstract implementation eth_driver.leon_sender
subcomponents
sender : subprogram spg_greth_sender;
end eth_driver.leon_sender;
end ocarina_drivers_greth;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment