@ -28,27 +28,21 @@ interrupt void cpu_timer1_isr(void);
interrupt void canb_isr ( void ) ;
interrupt void canb_box_isr ( void ) ;
Periphery periphery ;
// Periphery periphery;
RUDRIVEFRAMEWORK : : SinglePhaseSetup power_hw_setup ;
RUDRIVEFRAMEWORK : : SinglePhase power_hw ( ( uint16_t * ) 0x4000 ) ;
WEINBUS : : WeinbusSlave hmi ( power_hw . crc ) ;
MODBUSRTU : : ModbusRTUTransceiverConfiguration modbus_port_configuration ;
//----------------------------------------------------------------------------------------
// DSP28335::SCISetup SCIbSetup;
// DSP28335::SCIB scib(ScibRegs);
DSP28335 : : SCISetup SCIbSetup ;
DSP28335 : : SCIB scib ( ScibRegs ) ;
// DSP28335::MeasureTimeInterval interval_measure(CpuTimer2);
DSP28335 : : MeasureTimeInterval interval_measure ( CpuTimer2 ) ;
// // MODBUS RTU - PORT & HMI
// MODBUSRTU::ModbusRTUTransceiverSetup modbus;
// MODBUSRTU::ModbusRTUCRC crc;
// MODBUSRTU::ModbusRTUTransceiver modbus_port(scib, interval_measure, crc);
// MODBUS RTU - PORT & HMI
MODBUSRTU : : ModbusRTUTransceiverSetup modbus ;
MODBUSRTU : : ModbusRTUCRC crc ;
MODBUSRTU : : ModbusRTUTransceiver modbus_port ( scib , interval_measure , crc ) ;
// WEINBUS::WeinbusSlave hmi(crc);
// MODBUSRTU::ModbusRTUTransceiverConfiguration modbus_port_configuration;
WEINBUS : : WeinbusSlave hmi ( crc ) ;
MODBUSRTU : : ModbusRTUTransceiverConfiguration modbus_port_configuration ;
// Registers to testing HMI interface
@ -102,7 +96,7 @@ void main()
PieVectTable . ECAN1INTB = & canb_box_isr ;
EDIS ;
// InitCpuTimers();
InitCpuTimers ( ) ;
ConfigCpuTimer ( & CpuTimer0 , 150 , 1000 ) ; // 1ms
ConfigCpuTimer ( & CpuTimer1 , 150 , 5000 ) ; // 5ms
@ -114,38 +108,34 @@ void main()
PieCtrlRegs . PIEIER9 . bit . INTx7 = 1 ; // from 5 to 8
PieCtrlRegs . PIEIER9 . bit . INTx8 = 1 ;
periphery . config ( ) ;
// periphery.config();
//----------------------------------------------------------------------------------------
// SCIbSetup.config.baudrate = SCIB_BAUDRATE_DEFAULT;
// SCIbSetup.config.parity = SCIB_PARITY_DEFAULT;
// SCIbSetup.config.stopbits = SCIB_STOPBITS_DEFAULT;
// SCIbSetup.config.lenght = SCIB_LENGHT_DEFAULT;
// SCIbSetup.gpio_setup = SCIB_GPIO_SETUP_DEFAULT;
SCIbSetup . config . baudrate = SCIB_BAUDRATE_DEFAULT ;
SCIbSetup . config . parity = SCIB_PARITY_DEFAULT ;
SCIbSetup . config . stopbits = SCIB_STOPBITS_DEFAULT ;
SCIbSetup . config . lenght = SCIB_LENGHT_DEFAULT ;
SCIbSetup . gpio_setup = SCIB_GPIO_SETUP_DEFAULT ;
// modbus.gpio_re_de_setup = &DSP28335::GPIO::gpio_scib_re_de_setup;
// modbus.gpio_driver_enable = &DSP28335::GPIO::gpio_scib_re_de_set;
// modbus.gpio_receiver_enable = &DSP28335::GPIO::gpio_scib_re_de_clear;
modbus . gpio_re_de_setup = & DSP28335 : : GPIO : : gpio_scib_re_de_setup ;
modbus . gpio_driver_enable = & DSP28335 : : GPIO : : gpio_scib_re_de_set ;
modbus . gpio_receiver_enable = & DSP28335 : : GPIO : : gpio_scib_re_de_clear ;
// scib.setup(SCIbSetup);
scib . setup ( SCIbSetup ) ;
// interval_measure.set_magic((Uint32)0);
// interval_measure.reset();
interval_measure . set_magic ( ( Uint32 ) 0 ) ;
interval_measure . reset ( ) ;
// modbus_port.setup(modbus);
modbus_port . setup ( modbus ) ;
//----------------------------------------------------------------------------------------
// Enable global Interrupts and higher priority real-time debug events:
EINT ; // Enable Global interrupt INTM
ERTM ; // Enable Global realtime interrupt DBGM
periphery . updateVersionFPGA ( ) ;
// periphery.updateVersionFPGA();
//----------------------------------------------------------------------------------------
power_hw . get_hard_code_setup ( power_hw_setup ) ;
modify_hardware_setup ( power_hw_setup ) ;
power_hw . setup ( power_hw_setup ) ;
// MODBUS RTU
//
@ -157,17 +147,13 @@ void main()
//
test_init_hmi_buffers ( ) ;
// modbus_port.configure(modbus_port_configuration);
power_hw . modbus_port . configure ( modbus_port_configuration ) ;
modbus_port . configure ( modbus_port_configuration ) ;
clear_array ( ( uint16_t * ) hmi . rxStack , sizeof ( hmi . rxStack ) / sizeof ( uint16_t ) ) ;
clear_array ( ( uint16_t * ) hmi . txStack , sizeof ( hmi . txStack ) / sizeof ( uint16_t ) ) ;
// modbus_port.setRXBuffer((uint16_t*)hmi.rxStack, &hmi.rxLength);
// modbus_port.setTXBuffer((uint16_t*)hmi.txStack, &hmi.txLength);
power_hw . modbus_port . setRXBuffer ( ( uint16_t * ) hmi . rxStack , & hmi . rxLength ) ;
power_hw . modbus_port . setTXBuffer ( ( uint16_t * ) hmi . txStack , & hmi . txLength ) ;
modbus_port . setRXBuffer ( ( uint16_t * ) hmi . rxStack , & hmi . rxLength ) ;
modbus_port . setTXBuffer ( ( uint16_t * ) hmi . txStack , & hmi . txLength ) ;
// interval_measure.set_magic(19);
@ -188,19 +174,19 @@ void idle_loop()
{
infCounter + + ;
periphery . initExternalModbus ( ) ;
// periphery.initExternalModbus();
//
// MODBUS RTU HMI Service
//
if ( power_hw. modbus_port. compare_state ( MODBUSRTU : : BREAK ) )
if ( modbus_port. compare_state ( MODBUSRTU : : BREAK ) )
{
power_hw. modbus_port. port_reset ( ) ;
modbus_port. port_reset ( ) ;
//
}
else
{
power_hw. modbus_port. execute ( ) ;
modbus_port. execute ( ) ;
hmi . execute ( ) ;
//
} //if else
@ -213,7 +199,7 @@ void idle_loop()
interrupt void cpu_timer0_isr ( void )
{
periphery . processDigitalOutput ( ) ;
// periphery.processDigitalOutput();
PieCtrlRegs . PIEACK . all | = PIEACK_GROUP1 ;
} //end
@ -222,7 +208,7 @@ interrupt void cpu_timer0_isr(void)
interrupt void cpu_timer1_isr ( ) {
CpuTimer1 . InterruptCount + + ;
periphery . processDigitalInput ( ) ;
// periphery.processDigitalInput();
}