/* **************************************************** */ DMD_u32_t DMD_con_tcb_test( DMD_PARAMETER* param) { DMD_u8_t wd[256]; DMD_u8_t rd[256]; DMD_s8_t buf[20]; DMD_u32_t slv,adr; DMD_u32_t wlen,rlen; DMD_u32_t i,x; DMD_ERROR_t ret; printf("TCB Test:input slave >"); fgets( buf , 20 , stdin ); sscanf( buf , "%x" ,&slv ); printf("TCB Test:input address >"); fgets( buf , 20 , stdin ); sscanf( buf , "%x" ,&adr); i=0; do { printf("TCB Test:write data(q for Exit) >"); fgets( buf , 20 , stdin ); if( buf[0] == 'q' ) break; sscanf( buf , "%x" , &x ); wd[i] = (DMD_u8_t) x; i++; } while( i<256 ); printf("TCB Test:read num (0:no read) >"); fgets( buf , 20 , stdin ); rlen = atoi(buf); wlen = i; ret = DMD_TCB_WriteRead( (DMD_u8_t)slv , (DMD_u8_t)adr , wd , wlen , rd , rlen ); if( ret == DMD_E_OK ) { printf("slave :%02x\n" , slv ); printf("address :%02x\n" , adr ); printf("write :"); for(i=0;i<wlen;i++) printf("%02x ",wd[i]); printf("\n"); printf("read :"); for(i=0;i<rlen;i++) printf("%02x ",rd[i]); printf("\n"); } return ret; }
/* '11/08/05 : OKAMOTO Implement "Through Mode". */ DMD_ERROR_t DMD_TCB_ReadAnyLength(DMD_u8_t slvadr , DMD_u8_t *data , DMD_u8_t rlen) { return DMD_TCB_WriteRead( slvadr , 0 , 0, 0 , data , rlen ); }
/* **************************************************** */ DMD_ERROR_t DMD_TCB_Read(DMD_u8_t slvadr , DMD_u8_t adr , DMD_u8_t *data ) { return DMD_TCB_WriteRead( slvadr , adr , 0, 0 , data , 1 ); }
/* '11/08/05 : OKAMOTO Implement "Through Mode". */ DMD_ERROR_t DMD_TCB_WriteAnyLength(DMD_u8_t slvadr , DMD_u8_t adr , DMD_u8_t* data , DMD_u32_t wlen) { return DMD_TCB_WriteRead( slvadr , adr , data , wlen , 0, 0 ); }
DMD_ERROR_t DMD_TCB_Write(DMD_u8_t slvadr , DMD_u8_t adr , DMD_u8_t data ) { return DMD_TCB_WriteRead( slvadr , adr , &data , 1 , 0, 0 ); }