-
-/*
- * \brief
- * Free logs
- */
-void freeLogs(){
- int r;
- if (rps.log_col_count){
- for (r=0;r<LOG_ROWS;r++){
- free(rps.logs[r]);
- }
- }
- rps.log_col_count=0;
- rps.doLogs=0;
-}
-
-/*
- * \brief
- * Makes log.
- */
-void makeLog(){
- int r;
- if (rps.log_col==MAX_LOGS-1){
- rps.doLogs=0;
- return;
- }
- rps.logs[0][rps.log_col]=(int)rps.tf_count;
- rps.logs[1][rps.log_col]=(int)rps.spi_dat->pozice;
-
- rps.logs[2][rps.log_col]=(int)rps.pwm1;
- rps.logs[3][rps.log_col]=(int)rps.pwm2;
- rps.logs[4][rps.log_col]=(int)rps.pwm3;
- rps.logs[5][rps.log_col]=rps.duty;
-
- rps.logs[6][rps.log_col]=rps.desired_spd;
- rps.logs[7][rps.log_col]=rps.speed;
-
- rps.logs[8][rps.log_col]=(int)(rps.spi_dat->ch1/rps.spi_dat->adc_m_count);
- rps.logs[9][rps.log_col]=(int)(rps.spi_dat->ch2/rps.spi_dat->adc_m_count);
- rps.logs[10][rps.log_col]=(int)(rps.spi_dat->ch0/rps.spi_dat->adc_m_count);
-
- rps.log_col++;
- /*
- if (rps.log_col==rps.log_col_count-1){
- rps.log_col_count*=2;
- rps.log_col_count%=MAX_LOGS;
- for (r=0;r<LOG_ROWS;r++){
- rps.logs[r]=realloc(rps.logs[r],rps.log_col_count*sizeof(int));
- if (rps.logs[r]==NULL){
- rps.doLogs=0;
- rps.error=1;
- }
- }
- }
- */
-}
-
-/*
- * \brief
- * Pripravi psi buffer
- */
-void prepare_tx(uint8_t * tx){
-
- /*Data format:
- * tx[4] - bity 95 downto 88 - bits that are sent first
- * tx[5] - bity 87 downto 80
- * tx[6] - bity 79 downto 72
- * tx[7] - bity 71 downto 64
- * tx[8] - bity 63 downto 56
- * tx[9] - bity 55 downto 48
- * tx[10] - bity 47 downto 40
- * tx[11] - bity 39 downto 32
- * tx[12] - bity 31 downto 24
- * tx[13] - bity 23 downto 16
- * tx[14] - bity 15 downto 8
- * tx[15] - bity 7 downto 0
- *
- * bit 95 - ADC reset
- * bit 94 - enable PWM1
- * bit 93 - enable PWM2
- * bit 92 - enable PWM3
- * bit 91 - shutdown1
- * bit 90 - shutdown2
- * bit 89 - shutdown3
- * .
- * .
- * Unused
- * .
- * .
- * bits 47 .. 32 - match PWM1
- * bits 31 .. 16 - match PWM2
- * bits 15 .. 0 - match PWM3
- */
-
-
- uint16_t tmp;
-
- /* keep the 11-bit cap*/
-
- if (rps.pwm1>2047) rps.pwm1=2047;
- if (rps.pwm2>2047) rps.pwm2=2047;
- if (rps.pwm3>2047) rps.pwm3=2047;
-
- tx[0]=rps.test; /*bit 94 - enable PWM1*/
-
- /*now we have to switch the bytes due to endianess */
- /* ARMv6 & ARMv7 instructions are little endian */
- /*pwm1*/
- tx[10]=((uint8_t*)&rps.pwm1)[1]; /*MSB*/
- tx[11]=((uint8_t*)&rps.pwm1)[0]; /*LSB*/
-
- /*pwm2*/
- tx[12]=((uint8_t*)&rps.pwm2)[1]; /*MSB*/
- tx[13]=((uint8_t*)&rps.pwm2)[0]; /*LSB*/
-
- /*pwm3*/
- tx[14]=((uint8_t*)&rps.pwm3)[1]; /*MSB*/
- tx[15]=((uint8_t*)&rps.pwm3)[0]; /*LSB*/
-
-
-}
-
-