Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed-dev-f303 FastPWM3
Revision 59:b41cbfa3b30e, committed 2021-09-24
- Comitter:
- monkey61
- Date:
- Fri Sep 24 02:06:16 2021 +0000
- Parent:
- 58:4f8f58ecb52a
- Commit message:
- my test code
Changed in this revision
--- a/DRV8323/DRV.cpp Wed Sep 22 09:30:48 2021 +0000
+++ b/DRV8323/DRV.cpp Fri Sep 24 02:06:16 2021 +0000
@@ -75,14 +75,15 @@
spi_write(val);
}
-
CANMessage txMsg_liu;
-void DRV832x::print_faults(CAN *_can)
+void DRV832x::print_faults(CAN *_can,ObserverStruct *obs)
{
uint16_t val1 = read_FSR1();
wait_us(10);
uint16_t val2 = read_FSR2();
wait_us(10);
+ int16_t temp16;
+ static uint8_t count = 0;
if(val1 & (1<<10)){printf("\n\rFAULT\n\r");}
@@ -109,14 +110,20 @@
if(val2 & (1<<1)){printf("VGS_HC\n\r");}
if(val2 & (1)){printf("VGS_LC\n\r");}
- if(val1 >0 || val2>0)
+ if(val1 >0 || val2>0 || count>10)
{
- txMsg_liu.id = 10;
+ count = 0;
+ txMsg_liu.id = CAN_ID+9;
txMsg_liu.data[0] = (val1>>8)&0xff;
txMsg_liu.data[1] = (val1)&0xff;
txMsg_liu.data[2] = (val2>>8)&0xff;
txMsg_liu.data[3] = (val2)&0xff;
- txMsg_liu.len = 4;
+ //send temp
+ temp16 = (int16_t)(obs->temperature*10);
+ txMsg_liu.data[4] = (temp16>>8)&0xff;
+ txMsg_liu.data[5] = (temp16)&0xff;
+
+ txMsg_liu.len = 6;
_can->write(txMsg_liu);
--- a/DRV8323/DRV.h Wed Sep 22 09:30:48 2021 +0000
+++ b/DRV8323/DRV.h Fri Sep 24 02:06:16 2021 +0000
@@ -1,6 +1,9 @@
#ifndef DRV_H
#define DRV_H
+#include "../structs.h"
+
+
/// Registers ///
#define FSR1 0x0 /// Fault Status Register 1
#define FSR2 0x1 /// Fault Status Register 2
@@ -163,7 +166,7 @@
void enable_gd(void);
void disable_gd(void);
void calibrate(void);
- void print_faults(CAN *_can);
+ void DRV832x::print_faults(CAN *_can,ObserverStruct *obs);
private:
SPI *_spi;
--- a/main.cpp Wed Sep 22 09:30:48 2021 +0000
+++ b/main.cpp Fri Sep 24 02:06:16 2021 +0000
@@ -542,9 +542,14 @@
pc.attach(&serial_interrupt); // attach serial interrupt
-
+ int counter = 0;
while(1) {
- drv.print_faults(&can);
+ drv.print_faults(&can,&observer);
+ //if(counter++>=10)
+// {
+// counter = 0;
+// printf("Temp:%.1f\n\r" , observer.temperature);
+// }
wait(.1);
//printf("%.3f %.3f\n\r" , observer.temperature, observer.q_in);
if(controller.otw_flag){gpio.led->write(!gpio.led->read());}