[ create a new paste ] login | about

Link: http://codepad.org/LDnxhy0a    [ raw code | fork ]

C, pasted on Jul 10:
typedef struct {
    unsigned char RecordType;
    unsigned char DataLength;
    unsigned char DataType;
    unsigned char DataDir;
    float ParmMin;
    float ParmMax;
    short ParmAddr;
    char UnitString[HM2_SSERIAL_MAX_STRING_LENGTH+1];
    char NameString[HM2_SSERIAL_MAX_STRING_LENGTH+1];
}hm2_sserial_data_t;

static const hm2_sserial_data_t hm2_8i20_0 = {0xA0,0x10,0x02,0x80,1.0,0,0,"degrees","angle"};
static const hm2_sserial_data_t hm2_8i20_1 = {0xA0,0x10,0x03,0x80,10,-10,0,"amps","current"};
static const hm2_sserial_data_t hm2_8i20_11 = {0xA0,0x10,0x03,0x80,10,-10,2280,"amps","nvmaxcurrent"};
static const hm2_sserial_data_t hm2_8i20_12 = {0xA0,0x10,0x03,0x80,10,-10,2150,"volts","nvbusundervmax"};
static const hm2_sserial_data_t hm2_8i20_13 = {0xA0,0x10,0x03,0x80,10,-10,2148,"volts","nvbusundervmin"};
static const hm2_sserial_data_t hm2_8i20_14 = {0xA0,0x10,0x03,0x80,10,-10,2152,"volts","nvbusoverv"};
static const hm2_sserial_data_t hm2_8i20_15 = {0xA0,0x10,0x03,0x80,10,-10,2154,"volts","nvbrakeonv"};
static const hm2_sserial_data_t hm2_8i20_16 = {0xA0,0x10,0x03,0x80,10,-10,2156,"volts","nvbrakeoffv"};
static const hm2_sserial_data_t hm2_8i20_17 = {0xA0,0x10,0x03,0x80,10,-10,6,"bps","nvrembaudrate"};
static const hm2_sserial_data_t hm2_8i20_18 = {0xA0,0x10,0x03,0x80,10,-10,2066,"none","nvkqp"};
static const hm2_sserial_data_t hm2_8i20_19 = {0xA0,0x10,0x03,0x80,10,-10,2068,"none","nvkqi"};
static const hm2_sserial_data_t hm2_8i20_20 = {0xA0,0x10,0x03,0x80,10,-10,2072,"none","nvkqil"};
static const hm2_sserial_data_t hm2_8i20_21 = {0xA0,0x10,0x03,0x80,10,-10,2074,"none","nvkdp"};
static const hm2_sserial_data_t hm2_8i20_22 = {0xA0,0x10,0x03,0x80,10,-10,2076,"none","nvkdi"};
static const hm2_sserial_data_t hm2_8i20_23 = {0xA0,0x10,0x03,0x80,10,-10,2080,"none","nvkdil"};

static const hm2_sserial_data_t hm2_7i64_0 = {0xA0,0x18,0x01,0x80,1.0,0,0,"none","digout"};
static const hm2_sserial_data_t hm2_7i64_1 = {0xA0,0x18,0x01,0x00,10,-10,0,"none","digin"};
static const hm2_sserial_data_t hm2_7i64_2 = {0xA0,0x08,0x00,0x00,0,0,0,"pad","pad"};
static const hm2_sserial_data_t hm2_7i64_3 = {0xA0,0x10,0x03,0x00,3.3,0,0,"volts","adcin.00"};
static const hm2_sserial_data_t hm2_7i64_4 = {0xA0,0x10,0x03,0x00,3.3,0,0,"volts","adcin.01"};



void config_8i20(hostmot2_t *hm2, hm2_sserial_remote_t *chan){
    u32 buff;
    chan->num_confs = 2;
    chan->confs = (hm2_sserial_data_t *)kzalloc(2 * sizeof(hm2_sserial_data_t),
                                                GFP_KERNEL);
    chan->num_modes=0;
    chan->confs[0] = hm2_8i20_0;
    chan->confs[1] = hm2_8i20_1;
    //8i20 has reprogrammable current scaling:
    buff = 0;
    hm2_sserial_get_bytes(hm2, chan, &buff, 0x8E8, 2);
    chan->confs[1].ParmMax = buff * 0.01;
    chan->confs[1].ParmMin = buff * -0.01;
    chan->num_globals = 13;
    chan->globals = (hm2_sserial_data_t *)kzalloc(13 * sizeof(hm2_sserial_data_t),
                                                GFP_KERNEL);
    chan->globals[0] = hm2_8i20_11;
    chan->globals[1] = hm2_8i20_12;
    chan->globals[2] = hm2_8i20_13;
    chan->globals[3] = hm2_8i20_14;
    chan->globals[4] = hm2_8i20_15;
    chan->globals[5] = hm2_8i20_16;
    chan->globals[6] = hm2_8i20_17;
    chan->globals[7] = hm2_8i20_18;
    chan->globals[8] = hm2_8i20_19;
    chan->globals[9] = hm2_8i20_20;
    chan->globals[10] = hm2_8i20_21;
    chan->globals[11] = hm2_8i20_22;
    chan->globals[12] = hm2_8i20_23;
}


Create a new paste based on this one


Comments: