Commit 3de69482 authored by Julien's avatar Julien
Browse files

Ability to generate blackboard in the code for

DeOS - configuration to come in a further commit.
parent a1bc224d
......@@ -423,7 +423,9 @@ package body Ocarina.Backends.C_Common.Types is
Type_Uint64 := PHR.RE (RE_Uint64_T);
Type_Int64 := PHR.RE (RE_Int64_T);
elsif Get_Current_Backend_Kind = PolyORB_Kernel_C then
Add_Include (PKR.RH (RH_Types));
if Use_ARINC653_API = False then
Add_Include (PKR.RH (RH_Types));
end if;
Type_Uint8 := PKR.RE (RE_Uint8_T);
Type_Int8 := PKR.RE (RE_Int8_T);
Type_Uint16 := PKR.RE (RE_Uint16_T);
......
......@@ -2302,7 +2302,7 @@ package body Ocarina.Backends.POK_C.Deployment is
and then Get_Connection_Pattern (F) = Intra_Process
then
if AIN.Is_Data (F) and then not AIN.Is_Event (F) then
if POK_Flavor = ARINC653 then
if Use_ARINC653_API then
Type_Used := RE (RE_Blackboard_Id_Type);
else
Type_Used := RE (RE_Uint8_T);
......@@ -2325,7 +2325,7 @@ package body Ocarina.Backends.POK_C.Deployment is
(N,
CTN.Declarations (CTU.Current_File));
elsif AIN.Is_Data (F) and then AIN.Is_Event (F) then
if POK_Flavor = ARINC653 then
if Use_ARINC653_API then
Type_Used := RE (RE_Buffer_Id_Type);
else
Type_Used := RE (RE_Uint8_T);
......@@ -2346,7 +2346,7 @@ package body Ocarina.Backends.POK_C.Deployment is
(N,
CTN.Declarations (CTU.Current_File));
elsif AIN.Is_Event (F) and then not AIN.Is_Data (F) then
if POK_Flavor = ARINC653 then
if Use_ARINC653_API then
Type_Used := RE (RE_Event_Id_Type);
Partition_ARINC653_Nb_Events :=
Partition_ARINC653_Nb_Events + 1;
......
......@@ -150,6 +150,23 @@ package body Ocarina.Backends.POK_C.Main is
POK_Add_Return_Assertion (Statements);
end if;
-- Make strcpy(tattr.NAME, "prname")
if POK_Flavor = DEOS then
N :=
Make_Call_Profile
(Make_Defining_Identifier
(Get_String_Name ("strcpy")),
Make_List_Id (
Make_Member_Designator
(RE (RE_Name),
Copy_Node (Tattr)),
Make_Literal
(CV.New_Pointed_Char_Value
(Name (Identifier (S))))));
Append_Node_To_List (N, Statements);
end if;
-- Make tattr.entry = entrypoint
if Use_ARINC653_API then
......
......@@ -135,6 +135,15 @@ package body Ocarina.Backends.POK_C.Runtime is
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
......
......@@ -362,6 +362,7 @@ package Ocarina.Backends.POK_C.Runtime is
RE_Pok_Blackboards_Names, -- pok_blackboards_names
RE_Entry_Point,
RE_Name,
RE_Entry,
RE_Deadline,
RE_Time_Capacity,
......@@ -833,6 +834,7 @@ package Ocarina.Backends.POK_C.Runtime is
-- Runtime member elements
RE_Entry_Point => RH_Null,
RE_Name => RH_Null,
RE_Entry => RH_Null,
RE_Stack_Size => RH_Null,
RE_Deadline => RH_Null,
......
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