#pragma once

#include "hal.h"

namespace standalone {

enum class HalValueKind {
    Pin,
    Signal,
    Param,
};

void reset_hal_adapter();
void set_hal_value(HalValueKind kind, const char *name, hal_type_t type, hal_data_u value,
                   bool connected = true);
void link_hal_pin_alias(const char *source, const char *alias);
void sync_motion_analog_output(int index, double value);
void set_external_digital_input(int index, int value);
void set_external_analog_input(int index, double value);
int external_digital_input(int index, int def);
double external_analog_input(int index, double def);

}  // namespace standalone
