/** get initial parameters (only when node starts). */ void getInitParams(void) { nh_.param("modulation_freq", modulation_freq_, -1); std::string default_addr(""); nh_.param("ether_addr", ether_addr_, default_addr); cinfo_ = new camera_info_manager::CameraInfoManager(nh_); nh_.param("camera_name", camera_name_, std::string("swissranger")); nh_.param("use_filter", use_filter_, static_cast<bool>(USE_FILTER)); dynamic_reconfigure::Server<swissranger_camera::SwissRangerConfig >::CallbackType f = boost::bind(&SRNode::reconfig, this, _1, _2); dynsrv.setCallback(f); }
void main() { delay_ms(100); // Setup ADC's and Timers setup_peripherals(); // Initializes and reads external EEPROM. Loads default DEVICE_CONFIG if necessary device_boot(); // Reset amplifier and DSP then load values into DSP softboot(); // Enable/disable interrupts based on DEVICE_CONFIG parameters setup_interrupts(); if(DEBUG) { fprintf(RS232,"[DEBUG] Saving addresses into FLASH [R&D only]..."); } default_addr(); FLASH_ADDR_WRITE(14); if(DEBUG) { fprintf(RS232,"Done!\r\n"); } if(DEBUG) { fprintf(RS232,"[DEBUG] Disabling 100Hz High-Pass since we're a DSP 4x4..."); } send_prefixed_dsp_command(DSP_ADDRESS_WRITE_PREFIX,SEVENTYVHP_BYPASS,0x00000001); if(DEBUG) { fprintf(RS232,"Done!\r\n"); } while(true) { //if(IS_USB_CONNECTED) { process_usb_data(); //} if(rs232_data_available) { process_rs232_data(); } } }