Skip to content

Commit

Permalink
Merge pull request #20 from harp-tech/AS_targetflow0bugcorrection
Browse files Browse the repository at this point in the history
Ensure `ChannelsTargetFlow` register handles 0-values properly
  • Loading branch information
artursilva0 authored Dec 12, 2024
2 parents d237344 + 59457ea commit b39b4c0
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 14 deletions.
4 changes: 2 additions & 2 deletions Firmware/Olfactometer/app.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ void hwbp_app_initialize(void)
uint8_t hwH = 1;
uint8_t hwL = 1;
uint8_t fwH = 1;
uint8_t fwL = 4;
uint8_t fwL = 5;
uint8_t ass = 0;

/* Start core */
Expand Down Expand Up @@ -814,7 +814,7 @@ void core_callback_reset_registers(void)
app_regs.REG_CHANNEL0_DUTY_CYCLE = 1;
app_regs.REG_CHANNEL1_FREQUENCY = 2500;
app_regs.REG_CHANNEL1_DUTY_CYCLE = 1;
app_regs.REG_CHANNEL2_FREQUENCY = 1500;
app_regs.REG_CHANNEL2_FREQUENCY = 2500;
app_regs.REG_CHANNEL2_DUTY_CYCLE = 1;
app_regs.REG_CHANNEL3_FREQUENCY = 1500;
app_regs.REG_CHANNEL3_DUTY_CYCLE = 1;
Expand Down
31 changes: 20 additions & 11 deletions Firmware/Olfactometer/app_funcs.c
Original file line number Diff line number Diff line change
Expand Up @@ -626,37 +626,43 @@ bool app_write_REG_CHANNELS_TARGET_FLOW(void *a)
{
float *reg = ((float*)a);

app_regs.REG_CHANNELS_TARGET_FLOW[0] = reg[0];
if (reg[0] == 0)
hwbp_app_pwm_gen_stop_ch0();
else if (reg[0] > 1100)
app_regs.REG_CHANNEL0_TARGET_FLOW = 1100;

if (reg[0] > 110)
app_regs.REG_CHANNEL0_TARGET_FLOW = 110;
else
app_regs.REG_CHANNEL0_TARGET_FLOW = reg[0];

app_regs.REG_CHANNELS_TARGET_FLOW[0] = app_regs.REG_CHANNEL0_TARGET_FLOW;


app_regs.REG_CHANNELS_TARGET_FLOW[1] = reg[1];
if (reg[1] == 0)
hwbp_app_pwm_gen_stop_ch1();
else if (reg[1] > 110)

if (reg[1] > 110)
app_regs.REG_CHANNEL1_TARGET_FLOW = 110;
else
app_regs.REG_CHANNEL1_TARGET_FLOW = reg[1];

app_regs.REG_CHANNELS_TARGET_FLOW[1] = app_regs.REG_CHANNEL1_TARGET_FLOW;


app_regs.REG_CHANNELS_TARGET_FLOW[2] = reg[2];
if (reg[2] == 0)
hwbp_app_pwm_gen_stop_ch2();
else if (reg[2] > 110)

if (reg[2] > 110)
app_regs.REG_CHANNEL2_TARGET_FLOW = 110;
else
app_regs.REG_CHANNEL2_TARGET_FLOW = reg[2];

app_regs.REG_CHANNELS_TARGET_FLOW[2] = app_regs.REG_CHANNEL2_TARGET_FLOW;


app_regs.REG_CHANNELS_TARGET_FLOW[3] = reg[3];
if (reg[3] == 0)
hwbp_app_pwm_gen_stop_ch3();
else if((app_regs.REG_CHANNEL3_RANGE & MSK_CHANNEL3_RANGE_CONFIG) == GM_FLOW_100){

if((app_regs.REG_CHANNEL3_RANGE & MSK_CHANNEL3_RANGE_CONFIG) == GM_FLOW_100){
if (reg[3] > 110)
app_regs.REG_CHANNEL3_TARGET_FLOW = 110;
else
Expand All @@ -668,15 +674,18 @@ bool app_write_REG_CHANNELS_TARGET_FLOW(void *a)
else
app_regs.REG_CHANNEL3_TARGET_FLOW = reg[3];
}
app_regs.REG_CHANNELS_TARGET_FLOW[3] = app_regs.REG_CHANNEL3_TARGET_FLOW;


app_regs.REG_CHANNELS_TARGET_FLOW[4] = reg[4];
if (reg[4] == 0)
hwbp_app_pwm_gen_stop_ch4();
else if (reg[4] > 1100)

if (reg[4] > 1100)
app_regs.REG_CHANNEL4_TARGET_FLOW = 1100;
else
app_regs.REG_CHANNEL4_TARGET_FLOW = reg[4];

app_regs.REG_CHANNELS_TARGET_FLOW[4] = app_regs.REG_CHANNEL4_TARGET_FLOW;

return true;
}
Expand Down
2 changes: 1 addition & 1 deletion device.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# yaml-language-server: $schema=https://harp-tech.org/draft-02/schema/device.json
device: Olfactometer
whoAmI: 1140
firmwareVersion: "1.4"
firmwareVersion: "1.5"
hardwareTargets: "1.0"
registers:
EnableFlow:
Expand Down

0 comments on commit b39b4c0

Please sign in to comment.