int main(int argc, char **argv){
	int sig = 1;
	int gpio_err = 0;
	int gpio_check =0;

	ros::init(argc, argv, "motor_controller_node");
	ros::NodeHandle nh;
	ros::Publisher chatter_pub = nh.advertise<std_msgs::String>("say_gpio", 1000);
	ros::Rate loop_rate(5);
	int count = 0;

	gpio_err = gpio_init(PIN);

	while(ros::ok() && gpio_err == 1){

		std_msgs::String msg;
		std::stringstream ss;
		ss << "Signal: " << sig;
		msg.data = ss.str();
		ROS_INFO("%s", msg.data.c_str());
		chatter_pub.publish(msg);
		ros::spinOnce();
		loop_rate.sleep();
		if(gpio_err == 1)	gpio_check = gpio_on(PIN, sig);
		else	std::cout << "GPIO Error\n";
		sig = 1 - sig;
	}
	return 0;
}
void system_init()
{
	/* Stop the watchdog */
	startup_watchdog_disable(); /* Do it right now, before it gets a chance to break in */

	/* Note: Brown-Out detection must be powered to operate the ADC. adc_on() will power
	 *  it back on if called after system_init() */
	system_brown_out_detection_config(0);
	system_set_default_power_state();
	clock_config(SELECTED_FREQ);
	set_pins(common_pins);
	gpio_on();
	/* System tick timer MUST be configured and running in order to use the sleeping
	 * functions */
	systick_timer_on(1); /* 1ms */
	systick_start();
}
Beispiel #3
0
void led_on( uint8_t id)
{
    gpio_on(id);
}