Skip to content

Commit

Permalink
hal_signal: fix overwriting OUT dir pin value
Browse files Browse the repository at this point in the history
  • Loading branch information
machinekoder committed Jan 29, 2024
1 parent ecf488a commit 8011c43
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/libraries/hal/src/hal_signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -274,10 +274,11 @@ int halg_link(const int use_hal_mutex,
// good runtime assertion on 'halcmd show objects'.
pin->data_ptr = SHMOFF(&sig->value);

if (( sig->readers == 0 ) && ( sig->writers == 0 ) &&
( sig->bidirs == 0 )) {
if (( sig->writers == 0 ) &&
(( pin->dir == HAL_OUT ) || (( sig->readers == 0 ) && ( sig->bidirs == 0 )))) {

// this signal is not linked to any pins
// or the newly linked pin is the first OUT pin
// copy value from pin's "dummy" field,
// making it 'inherit' the value of the first pin
// data_addr = hal_shmem_base + sig->data_ptr;
Expand Down

0 comments on commit 8011c43

Please sign in to comment.