#ifndef GRIFO_EXCITER_IF_H
#define GRIFO_EXCITER_IF_H

#include "grifo_ctrlink.h"

#include <stdint.h>

namespace grifo_fw
{

enum exciter_msg_k
{
    exciter_freq_max_values=118
};

extern int exciter_append_status_request(ctrlink_blob_t* ld);

enum exiter_rf_out_t
{
    exciter_rf_out_internal_load=0,
    exciter_rf_out_tx_driver=1,
    exciter_rf_out_cal=2
};

enum exciter_upc_sel_t
{
    exciter_upc_sel_radar=1,
    exciter_upc_sel_eq=2
};

extern int exciter_append_upc_command_operative_message(ctrlink_blob_t* ld, unsigned int freq_upc, exciter_upc_sel_t upc_sel, exiter_rf_out_t rf_out, ctrlink_pingpong_t pingpong=ctrlink_pingpong_auto);
extern int exciter_append_upc_command_asynch_message(ctrlink_blob_t* ld, unsigned int freq_upc, exciter_upc_sel_t upc_sel, exiter_rf_out_t rf_out);

extern int exciter_append_lo_frequency_operative_message(ctrlink_blob_t* ld, unsigned int num_values, const unsigned int* frq /*[num_values]*/, ctrlink_pingpong_t pingpong=ctrlink_pingpong_auto);

extern int exciter_append_lo_frequency_asynch_message(ctrlink_blob_t* ld, unsigned int frq);

}//namespace

#endif // GRIFO_EXCITER_IF_H
