#include "hal_sim.h"
#include <string.h>

// ȫģ
unsigned long sim_gpio_a_input = 0;   // ģGPIOA
unsigned short sim_adc_ch1 = 0;        // ģADCͨ1ֵ
unsigned short sim_adc_ch2 = 0;        // ģADCͨ2ֵ

// 1394ģշCMD12832λDATA125632λ
static unsigned long sim_cmd_buf[128] = {0};
static unsigned long sim_data1_buf[256] = {0};
static unsigned int sim_riu_id = 0;

// RIU ID
UINT32 setRIUID(UINT32 riuId)
{
    sim_riu_id = riuId;
    return 0;   // 0ɹ
}

// ʼ1394
UINT32 init2KRN(UINT32 nodeNum, UINT32 baseAddr, UINT32 endian)
{
    memset(sim_cmd_buf, 0, sizeof(sim_cmd_buf));
    memset(sim_data1_buf, 0, sizeof(sim_data1_buf));
    return 0;   // 0ɹ
}

// DATA1ݰ
UINT32 sendAsyStream(UINT32 nodeNum, UINT32 msgID, PUINT32 pdataBuf)
{
    if(pdataBuf == 0) return 1;
    memcpy(sim_data1_buf, pdataBuf, sizeof(sim_data1_buf));
    return 0;
}

// CMDݰ
UINT32 receiveAsyStream(UINT32 nodeNum, UINT32 msgID, PUINT32 pdataBuf)
{
    if(pdataBuf == 0) return 1;
    memcpy(pdataBuf, sim_cmd_buf, sizeof(sim_cmd_buf));
    return 0;
}
