98 lines
4.0 KiB
VHDL
98 lines
4.0 KiB
VHDL
-- altera vhdl_input_version vhdl_2008
|
|
-- XXX: QSYS Fix (https://www.intel.com/content/www/us/en/support/programmable/articles/000079458.html)
|
|
|
|
library ieee;
|
|
use ieee.std_logic_1164.all;
|
|
use ieee.numeric_std.all;
|
|
|
|
use work.rtps_package.all;
|
|
use work.ros_package.all;
|
|
use work.Fibonacci_package.all;
|
|
|
|
package ros_config is
|
|
|
|
-- Period of ros system clock
|
|
constant ROS_CLOCK_PERIOD : time := 20 ns; -- 50 MHz
|
|
-- IPv4 Address of ROS System [192.168.0.90]
|
|
constant ROS_ADDRESS : std_logic_vector(IPv4_ADDRESS_WIDTH-1 downto 0) := x"C0A8005A";
|
|
-- Random Key used to generate GUIDs
|
|
constant ROS_RAND_KEY : std_logic_vector(47 downto 0) := x"E2A53AA91CC5";
|
|
|
|
constant NUM_NODES : natural := 1;
|
|
|
|
constant ROS_NODES : ROS_NODE_ARRAY_TYPE(0 to NUM_NODES-1) := (
|
|
0 => (
|
|
name => gen_user_string("fibonacci_action_server"),
|
|
namespace => gen_user_string(""),
|
|
domain_id => 0,
|
|
NUM_PUBS => 0,
|
|
NUM_SUBS => 0,
|
|
NUM_SERVICES => 0,
|
|
NUM_ACTIONS => 1
|
|
)
|
|
);
|
|
|
|
constant NUM_PUBS : natural := get_num_pubs(ROS_NODES);
|
|
constant NUM_SUBS : natural := get_num_subs(ROS_NODES);
|
|
constant NUM_SERVICES : natural := get_num_services(ROS_NODES);
|
|
constant NUM_ACTIONS : natural := get_num_actions(ROS_NODES);
|
|
|
|
constant ROS_PUBLICATIONS : ROS_TOPIC_ARRAY_TYPE(0 to NUM_PUBS-1) := (
|
|
others => (
|
|
node_id => 0,
|
|
TOPICNAME => gen_user_string(""),
|
|
TYPENAME => gen_user_string(""),
|
|
QOS => ROS_QOS_PROFILE_DEFAULT,
|
|
MAX_SIZE => 0
|
|
)
|
|
);
|
|
|
|
constant ROS_SUBSCRIPTIONS : ROS_TOPIC_ARRAY_TYPE(0 to NUM_SUBS-1) := (
|
|
others => (
|
|
node_id => 0,
|
|
TOPICNAME => gen_user_string(""),
|
|
TYPENAME => gen_user_string(""),
|
|
QOS => ROS_QOS_PROFILE_DEFAULT,
|
|
MAX_SIZE => 0
|
|
)
|
|
);
|
|
|
|
constant ROS_SERVICES : ROS_SERVICE_ARRAY_TYPE(0 to NUM_SERVICES-1) := (
|
|
others => (
|
|
node_id => 0,
|
|
SERVICENAME => gen_user_string(""),
|
|
RQ_TYPENAME => gen_user_string(""),
|
|
RR_TYPENAME => gen_user_string(""),
|
|
QOS => ROS_QOS_PROFILE_SERVICES_DEFAULT,
|
|
MAX_RQ_SIZE => 0,
|
|
MAX_RR_SIZE => 0,
|
|
is_client => FALSE
|
|
)
|
|
);
|
|
|
|
constant ROS_ACTIONS : ROS_ACTION_ARRAY_TYPE(0 to NUM_ACTIONS-1) := (
|
|
0 => (
|
|
node_id => 0,
|
|
ACTIONNAME => gen_user_string("fibonacci"),
|
|
GOAL_RQ_TYPENAME => gen_user_string("action_tutorials_interfaces::action::dds_::Fibonacci_SendGoal_Request_"),
|
|
GOAL_RR_TYPENAME => gen_user_string("action_tutorials_interfaces::action::dds_::Fibonacci_SendGoal_Response_"),
|
|
RESULT_RQ_TYPENAME => gen_user_string("action_tutorials_interfaces::action::dds_::Fibonacci_GetResult_Request_"),
|
|
RESULT_RR_TYPENAME => gen_user_string("action_tutorials_interfaces::action::dds_::Fibonacci_GetResult_Response_"),
|
|
FEEDBACK_TYPENAME => gen_user_string("action_tutorials_interfaces::action::dds_::Fibonacci_FeedbackMessage_"),
|
|
GOAL_QOS => ROS_QOS_PROFILE_SERVICES_DEFAULT,
|
|
RESULT_QOS => ROS_QOS_PROFILE_SERVICES_DEFAULT,
|
|
FEEDBACK_QOS => ROS_QOS_PROFILE_DEFAULT,
|
|
CANCEL_QOS => ROS_QOS_PROFILE_SERVICES_DEFAULT,
|
|
MAX_GOAL_RQ_SIZE => G_RQ_MAX_FIBONACCI_SIZE,
|
|
MAX_GOAL_RR_SIZE => G_RR_MAX_FIBONACCI_SIZE,
|
|
MAX_RESULT_RQ_SIZE => R_RQ_MAX_FIBONACCI_SIZE,
|
|
MAX_RESULT_RR_SIZE => R_RR_MAX_FIBONACCI_SIZE,
|
|
MAX_FEEDBACK_SIZE => F_MAX_FIBONACCI_SIZE,
|
|
is_client => FALSE,
|
|
enable_feedback => TRUE
|
|
)
|
|
);
|
|
|
|
-- Defines sensible RTPS timings for simulation
|
|
constant SIMULATION_TIMING : boolean := FALSE;
|
|
end package; |