| Address | R/W | 0x0F | 0x0E | 0x0D | 0x0C | 0x0B | 0x0A | 0x09 | 0x08 | 0x07 | 0x06 | 0x05 | 0x04 | 0x03 | 0x02 | 0x01 | 0x00 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x*000 | R | CH0 上位データ | |||||||||||||||
| 0x*002 | R | CH0 下位データ | |||||||||||||||
| 0x*004 | R | CH1 上位データ | |||||||||||||||
| 0x*006 | R | CH1 下位データ | |||||||||||||||
| 0x*008 | R | CH2 上位データ | |||||||||||||||
| 0x*00A | R | CH2 下位データ | |||||||||||||||
| 0x*00C | R | CH3 上位データ | |||||||||||||||
| 0x*00E | R | CH3 下位データ | |||||||||||||||
| 0x*010 | R | CH4 上位データ | |||||||||||||||
| 0x*012 | R | CH4 下位データ | |||||||||||||||
| 0x*014 | R | CH5 上位データ | |||||||||||||||
| 0x*016 | R | CH5 下位データ | |||||||||||||||
| 0x*018 | R | CH6 上位データ | |||||||||||||||
| 0x*01A | R | CH6 下位データ | |||||||||||||||
| 0x*01C | R | CH7 上位データ | |||||||||||||||
| 0x*01E | R | CH7 下位データ | |||||||||||||||
| 0x*020-0x0FC | N/A | Not Used | |||||||||||||||
| 0x*0FE | W | N/A | Reset | ||||||||||||||
| 0x*100-0x*1FE | RW | RAM for Video | |||||||||||||||
if (sysBusToLocalAdrs(VME_AM_SUP_SHORT_IO,(char *)Base_IO,(char **)&p) == ERROR)
{
logMsg("VME RPV100: cannot find A16 address space\n");
return(ERROR);
}
static unsigned long bcdtodec(unsigned short a)
{
unsigned long result;
result =
(a >>15)*8000 +
((a >>14)& 0x1) * 4000 +
((a >>13)& 0x1) * 2000 +
((a >>12)& 0x1) * 1000 +
((a >>11)& 0x1) * 800 +
((a >>10)& 0x1) * 400 +
((a >> 9)& 0x1) * 200 +
((a >> 8)& 0x1) * 100 +
((a >> 7)& 0x1) * 80 +
((a >> 6)& 0x1) * 40 +
((a >> 5)& 0x1) * 20 +
((a >> 4)& 0x1) * 10 +
((a >> 3)& 0x1) * 8 +
((a >> 2)& 0x1) * 4 +
((a >> 1)& 0x1) * 2 +
((a & 0x1));
return result;
}
で、実際のread_longinの中では
switch(plongin->inp.value.vmeio.signal){
case 0: /* ch 0*/
plongin->val = bcdtodec(cards[cardN].card->ch0up)*10000+bcdtodec(cards[cardN].card->ch0dn);
break;
の様にします。
device(longin,VME_IO,devLiRPV100,"RPV100") device(mbboDirect,VME_IO,devMbboRPV100,"RPV100")初期化ファイルはdevRPV100nfigで、ベースアドレスが0x8800とすると、
devRPV100Config(1,0x8800)
の様に指定します。
dbLoadRecords("fbppcApp/Db/FB_RPV100.db","USER=FBH:TMP , CHAN=C0")
devRPV100Config(1,0x8800)
iocInit