diff --git a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/.atmelstart/atmel_start_config.atstart b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/.atmelstart/atmel_start_config.atstart index 89c10b1..98ef807 100644 --- a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/.atmelstart/atmel_start_config.atstart +++ b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/.atmelstart/atmel_start_config.atstart @@ -471,7 +471,7 @@ drivers: dmac_evact_4: Channel resume operation dmac_evact_5: Channel resume operation dmac_evact_6: Channel resume operation - dmac_evact_7: No action + dmac_evact_7: Channel resume operation dmac_evact_8: No action dmac_evact_9: No action dmac_evie_0: false @@ -1154,8 +1154,8 @@ drivers: evsys_evd_31: false evsys_evd_4: false evsys_evd_5: false - evsys_evd_6: true - evsys_evd_7: true + evsys_evd_6: false + evsys_evd_7: false evsys_evd_8: false evsys_evd_9: false evsys_evgen_0: TCC0 overflow diff --git a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Config/hpl_dmac_config.h b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Config/hpl_dmac_config.h index dbbe6bf..d0c697d 100644 --- a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Config/hpl_dmac_config.h +++ b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Config/hpl_dmac_config.h @@ -1821,7 +1821,7 @@ // Defines the event input action // dmac_evact_7 #ifndef CONF_DMAC_EVACT_7 -#define CONF_DMAC_EVACT_7 0 +#define CONF_DMAC_EVACT_7 5 #endif // Address Increment Step Size diff --git a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Config/hpl_evsys_config.h b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Config/hpl_evsys_config.h index b193999..1e29ec3 100644 --- a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Config/hpl_evsys_config.h +++ b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Config/hpl_evsys_config.h @@ -1252,7 +1252,7 @@ // Indicates whether event detected interrupt is enabled or not // evsys_evd_6 #ifndef CONF_EVD_6 -#define CONF_EVD_6 1 +#define CONF_EVD_6 0 #endif // On demand clock @@ -1433,7 +1433,7 @@ // Indicates whether event detected interrupt is enabled or not // evsys_evd_7 #ifndef CONF_EVD_7 -#define CONF_EVD_7 1 +#define CONF_EVD_7 0 #endif // On demand clock diff --git a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Two_Motor_D51.cproj b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Two_Motor_D51.cproj index e089fa0..f08b2bb 100644 --- a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Two_Motor_D51.cproj +++ b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/Two_Motor_D51.cproj @@ -207,9 +207,9 @@ - + - + diff --git a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/hpl/tc/tc_lite.c b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/hpl/tc/tc_lite.c index 736464a..9019c36 100644 --- a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/hpl/tc/tc_lite.c +++ b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/hpl/tc/tc_lite.c @@ -78,7 +78,7 @@ int8_t TIMER_0_init() hri_tccount8_write_CC_reg(TC0, 0, 0xa); /* Compare/Capture Value: 0xa */ - hri_tccount8_write_CC_reg(TC0, 1, 0x80); /* Compare/Capture Value: 0x3c */ + hri_tccount8_write_CC_reg(TC0, 1, 0x3c); /* Compare/Capture Value: 0x3c */ // hri_tccount8_write_COUNT_reg(TC0,0x0); /* Counter Value: 0x0 */ diff --git a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/main.c b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/main.c index 442b0b3..69ada91 100644 --- a/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/main.c +++ b/2_Motor_Master_D51/Two_Motor_D51/Two_Motor_D51/main.c @@ -71,7 +71,7 @@ void enable_NVIC_IRQ(void) NVIC_SetPriority(ADC1_0_IRQn, 3); NVIC_EnableIRQ(TCC0_0_IRQn); //NVIC_EnableIRQ(TCC1_0_IRQn); - NVIC_EnableIRQ(EIC_2_IRQn); + //NVIC_EnableIRQ(EIC_2_IRQn); NVIC_EnableIRQ(SERCOM1_1_IRQn); NVIC_EnableIRQ(SERCOM2_1_IRQn); @@ -208,37 +208,19 @@ int main(void) Motor1.timerflags.motor_telemetry_flag = false; //DMAC->Channel[CONF_SERCOM_1_SPI_M_DMA_RX_CHANNEL].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; - if (DMAC->Channel[CONF_SERCOM_1_SPI_M_DMA_TX_CHANNEL].CHCTRLA.bit.ENABLE) - { - /* Resume */ - //DMAC->Channel[CONF_SERCOM_1_SPI_M_DMA_TX_CHANNEL].CHCTRLB.bit.CMD = 0x02; - volatile int x = 0; - } - else { + if (!(DMAC->Channel[CONF_SERCOM_1_SPI_M_DMA_TX_CHANNEL].CHCTRLA.bit.ENABLE)) { + /* Enable */ + DMAC->Channel[CONF_SERCOM_1_SPI_M_DMA_TX_CHANNEL].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; + } + + if(!(DMAC->Channel[CONF_SERCOM_2_SPI_M_DMA_TX_CHANNEL].CHCTRLA.bit.ENABLE)) { /* Enable */ - DMAC->Channel[CONF_SERCOM_1_SPI_M_DMA_TX_CHANNEL].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; - } + DMAC->Channel[CONF_SERCOM_2_SPI_M_DMA_TX_CHANNEL].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; + + } update_telemetry(); update_setpoints(); - - //PORT->Group[1].OUTCLR.reg = (1<Channel[CONF_SERCOM_2_SPI_M_DMA_TX_CHANNEL].CHCTRLA.bit.ENABLE) - { - /* Resume */ - //DMAC->Channel[CONF_SERCOM_2_SPI_M_DMA_TX_CHANNEL].CHCTRLB.bit.CMD = 0x02; - volatile int x = 0; - } else { - DMAC->Channel[CONF_SERCOM_2_SPI_M_DMA_TX_CHANNEL].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; - /* Enable */ - //DMAC->Channel[8].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; - - } - - if (ADS1299.data_ReadyFlag){ - ADS1299.data_ReadyFlag = false; - //PORT->Group[0].OUTCLR.reg = (1<Channel[CONF_SERCOM_2_SPI_M_DMA_TX_CHANNEL].CHCTRLA.bit.ENABLE) - { - /* Resume */ - //DMAC->Channel[CONF_SERCOM_2_SPI_M_DMA_TX_CHANNEL].CHCTRLB.bit.CMD = 0x02; - volatile int x = 0; - } else { - DMAC->Channel[CONF_SERCOM_2_SPI_M_DMA_TX_CHANNEL].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; - /* Enable */ - //DMAC->Channel[8].CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; - - } - //_dma_enable_transaction(2, false); - //_dma_enable_transaction(8, false); - - - //ADS1299_UPDATECHANNELDATA(); - } - - if (run_ECAT) {ECAT_STATE_MACHINE();} - + if(run_ECAT) {ECAT_STATE_MACHINE();} } }