Commit 12bb75c6 authored by Julien's avatar Julien

* Sampling port works for the C code part

 * Needs to automatically generate the inter-partitions configuration
parent 61900042
......@@ -648,7 +648,17 @@ package body Ocarina.Backends.POK_C.Main is
N := Map_Time (Get_POK_Refresh_Time (F));
end if;
else
N := CTU.Make_Literal (CV.New_Int_Value (0, 1, 10));
if POK_Flavor = DEOS then
--
-- DeOS needs a value to refresh the port.
--
N := CTU.Make_Literal
(CV.New_Int_Value (1_000_000, 1, 10));
else
N := CTU.Make_Literal (CV.New_Int_Value (0, 1, 10));
end if;
end if;
Append_Node_To_List (N, Call_Parameters);
......@@ -777,7 +787,17 @@ package body Ocarina.Backends.POK_C.Main is
end if;
else
N := CTU.Make_Literal (CV.New_Int_Value (0, 1, 10));
if POK_Flavor = DEOS then
--
-- DeOS needs a value to refresh the port.
--
N := CTU.Make_Literal
(CV.New_Int_Value (1_000_000, 1, 10));
else
N := CTU.Make_Literal (CV.New_Int_Value (0, 1, 10));
end if;
end if;
Append_Node_To_List (N, Call_Parameters);
......@@ -978,6 +998,7 @@ package body Ocarina.Backends.POK_C.Main is
Statements := New_List (CTN.K_Statement_List);
Add_Include (E => RH (RH_Activity));
Add_Include (E => RH (RH_Gtypes));
if Use_ARINC653_API then
Process_Variable_Type := RE (RE_Process_Id_Type);
......
......@@ -131,19 +131,28 @@ package body Ocarina.Backends.POK_C.Runtime is
if POK_Flavor = DEOS then
for E in ART_Id loop
RE_Header_Table (E) := RH_Apex;
end loop;
RE_Header_Table (RE_Pok_Port_Kind_Sampling) := RH_Apex;
RE_Header_Table (RE_Source) := RH_Apex;
RE_Header_Table (RE_Destination) := RH_Apex;
RE_Header_Table (RE_Pok_Errno_Empty) := RH_Apex;
RE_Header_Table (RE_Null) := RH_Apex;
RE_Header_Table (RE_Normal) := RH_Apex;
RE_Header_Table (RE_Bool_T) := RH_Apex;
RE_Header_Table (RE_Uint8_T) := RH_Apex;
RE_Header_Table (RE_Uint16_T) := RH_Apex;
RE_Header_Table (RE_Uint32_T) := RH_Apex;
RE_Header_Table (RE_Uint64_T) := RH_Apex;
RE_Header_Table (RE_Int8_T) := RH_Apex;
RE_Header_Table (RE_Int16_T) := RH_Apex;
RE_Header_Table (RE_Int32_T) := RH_Apex;
RE_Header_Table (RE_Int64_T) := RH_Apex;
for E in ARF_Id loop
RE_Header_Table (E) := RH_Apex;
RE_Header_Table (RE_Null) := RH_Apex;
RE_Header_Table (RE_Normal) := RH_Apex;
RE_Header_Table (RE_Bool_T) := RH_Apex;
RE_Header_Table (RE_Uint8_T) := RH_Apex;
RE_Header_Table (RE_Uint16_T) := RH_Apex;
RE_Header_Table (RE_Uint32_T) := RH_Apex;
RE_Header_Table (RE_Uint64_T) := RH_Apex;
RE_Header_Table (RE_Int8_T) := RH_Apex;
RE_Header_Table (RE_Int16_T) := RH_Apex;
RE_Header_Table (RE_Int32_T) := RH_Apex;
RE_Header_Table (RE_Int64_T) := RH_Apex;
end loop;
for E in ART_Id loop
......
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