Commit 7fabc376 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras

New driver for GRSPW packet

parent 42bc8935
...@@ -85,7 +85,8 @@ public ...@@ -85,7 +85,8 @@ public
with ocarina_drivers_rasta_serial; with ocarina_drivers_rasta_serial;
with ocarina_drivers_rasta_spacewire; with ocarina_drivers_rasta_spacewire;
with ocarina_drivers_rtems_ne2000; with ocarina_drivers_rtems_ne2000;
with ocarina_drivers_grspw_packet;
with ocarina_drivers_star_dundee_spacewire_brick; with ocarina_drivers_star_dundee_spacewire_brick;
with ocarina_drivers_udp_exarm; with ocarina_drivers_udp_exarm;
...@@ -273,6 +274,16 @@ public ...@@ -273,6 +274,16 @@ public
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c)); Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_spacewire.pohic; end rasta_spacewire.pohic;
device implementation rasta_spacewire.grspw_pohic
properties
Deployment::Driver_Name => "grspw_spacewire";
Device_Driver =>
classifier (ocarina_drivers_grspw_packet::grspw_packet_driver.rasta);
Initialize_Entrypoint =>
classifier (ocarina_drivers_grspw_packet::spg_grspw_packet_init_rasta);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_spacewire.grspw_pohic;
device implementation rasta_spacewire.pohiada device implementation rasta_spacewire.pohiada
properties properties
Deployment::Driver_Name => "spacewire_rasta"; Deployment::Driver_Name => "spacewire_rasta";
...@@ -2406,3 +2417,68 @@ end x86.win32; ...@@ -2406,3 +2417,68 @@ end x86.win32;
-- end x86.xenomai_native; -- end x86.xenomai_native;
end ocarina_processors_x86; end ocarina_processors_x86;
package ocarina_drivers_grspw_packet
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 ocarina_buses;
with Deployment;
subprogram spg_grspw_packet_poller_rasta
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_drvmgr_grspw_poller";
Source_Text => ("grspw_api.c", "spwrouter_custom_config.c",
"po_hi_driver_drvmgr_common.c", "grspw_pkt_lib.c",
"po_hi_driver_rtems_drvmgr_spacewire.c");
end spg_grspw_packet_poller_rasta;
subprogram spg_grspw_packet_sender_rasta
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_drvmgr_grspw_sender";
Source_Text => ("grspw_api.c", "spwrouter_custom_config.c",
"po_hi_driver_drvmgr_common.c", "grspw_pkt_lib.c",
"po_hi_driver_rtems_drvmgr_spacewire.c");
end spg_grspw_packet_sender_rasta;
subprogram spg_grspw_packet_init_rasta
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_drvmgr_grspw_init";
Source_Text => ("grspw_api.c", "spwrouter_custom_config.c",
"po_hi_driver_drvmgr_common.c", "grspw_pkt_lib.c",
"po_hi_driver_rtems_drvmgr_spacewire.c");
end spg_grspw_packet_init_rasta;
thread grspw_packet_poller
end grspw_packet_poller;
thread implementation grspw_packet_poller.rasta
calls
mycall : {
pspg : subprogram spg_grspw_packet_poller_rasta;
};
properties
Period => 1 ms;
Dispatch_Protocol => Background;
end grspw_packet_poller.rasta;
abstract grspw_packet_driver
properties
Deployment::Version => "0.1beta";
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration_Type => classifier (ocarina_drivers::configuration_type_spacewire);
end grspw_packet_driver;
abstract implementation grspw_packet_driver.rasta
subcomponents
receiver_rasta_grspw_packet : thread grspw_packet_poller.rasta;
sender : subprogram spg_grspw_packet_sender_rasta;
end grspw_packet_driver.rasta;
end ocarina_drivers_grspw_packet;
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