Ben Willems / Mbed 2 deprecated MLX90418_I2C_master_bwi

Dependencies:   mbed

Revision:
12:9f8c7f4da5f6
Parent:
11:b86aea372744
Child:
14:062850afdf38
--- a/i2c_mbed_fpga.h	Wed Mar 03 14:55:01 2021 +0000
+++ b/i2c_mbed_fpga.h	Wed Mar 24 14:17:25 2021 +0000
@@ -12,24 +12,32 @@
 class i2c_mbed_fpga {
 
 public:    
-    /*constructor*/    
-    i2c_mbed_fpga(): i2c_master(p9, p10){
-        i2c_master.frequency(35000);
-        nv_positin_val = NV_POSITION_DEFUALT;
+    /*constructor*/  
+    // {p28:sda, p27:scl}
+    // {p9: sda, p10:scl}  
+    i2c_mbed_fpga(): i2c_master(p28, p27){  
+        i2c_master.frequency(70000);
+        nv_positin_val = NV_POSITION_DEFAULT;
         nv_start_up_val = NV_START_UP_DEFAULT; 
         nv_wind_brake_val = NV_WIND_BRAKE_DEFAULT;
         ram_open_duty_val = RAM_OPEN_DUTY_DEFAULT;
         nv_spd_control_1_val = NV_SPD_CONTROL_1_DEFAULT;
-        nv_spd_control_2_val = NV_SPD_CONTROL_1_DEFAULT;    
+        nv_spd_control_2_val = NV_SPD_CONTROL_1_DEFAULT;
+        nv_gen_ctrl_val = NV_GEN_CTRL_DEFAULT; 
+        nv_comm_ctrl_val = NV_COMM_CTRL_DEFAULT;     
     };
     
     int i2c_word_read(char *word);
+    int i2c_word_read_by_byte(char *word);
     int i2c_word_write(char *word);
+    int i2c_word_write_by_byte(char *word);
     int i2c_word_safe_write(char *word);
     
     int i2c_window_open();
     int i2c_motor_start();
     
+    int i2c_set_50k_pwm(unsigned int pwm50k);
+    
     int i2c_set_position_pulse_width(unsigned int manstisa_2b, unsigned int exponenet_3b);
     int i2c_set_position_duty(unsigned int duty_2b);
     int i2c_set_position_maj_vote(unsigned int maj_1b);
@@ -41,6 +49,12 @@
     int i2c_set_soft_start_up(unsigned int enbale, unsigned int mantisaa_3b, unsigned int exponent_3b, unsigned int step_size, unsigned int num_steps);
     int i2c_set_high_torque_start_up(unsigned int enbale, unsigned int mantisaa_3b, unsigned int exponent_3b);
     int i2c_set_single_pulse_start_up(unsigned int enbale, unsigned int mantisaa_3b, unsigned int exponent_3b);
+    
+    int i2c_set_rough_gain(unsigned int rough_gain);
+    int i2c_set_comm_i_thres(unsigned int i_thr_low, unsigned int i_thr_high);
+    int i2c_set_comm_di_thres(unsigned int di_1st, unsigned int di_2nd);
+    
+    
     int i2c_clear_spd_ctrl();
     int i2c_set_loop_mode(unsigned int openloop);
     int i2c_set_curve_type(unsigned int curvetype);
@@ -56,6 +70,8 @@
     unsigned int nv_spd_control_1_val;
     unsigned int nv_spd_control_2_val;
     unsigned int ram_open_duty_val;
+    unsigned int nv_gen_ctrl_val;
+    unsigned int nv_comm_ctrl_val;
     
 
     //Position Detection Task/Functions