IO Device:F75113 SMbus under Linux(64bit)

From LEXWiKi

Revision as of 11:50, 20 February 2020 by Lf2nettonyboy (Talk | contribs)
Jump to: navigation, search

Contents

The Sample code source you can download from

Source file: F75113_SMBUSv1.0.2L_src.tar.gz

Binary file for x64: F75113_SMBUSv1.0.2L_bin.tar.gz

We do the demo test with a test tool which DIx connect to DOx with Relay. 

MB Support List

Cacrd

M113A

edit table


How to use this Demo Application

Before you use this

please enter F75113set.sh and read the Readme.txt enter command

after all you can open the program

Image:SMBUSLinux.JPG

1. Press the "Test" button to test CIO1 function

2. Press the "C2test" button to test CIO2 function

3. Press the "C3test" button to test CIO3 function

4. Press the "C4test" button to test CIO4 function

F75113 GPIO Picture

Image:t5.jpg

Introduction

GPIO Status Register Write

init_fintek_sio(eSIO_TYPE_F75113, 0 ,&sio_data)
ActiveSIO(sio_data.ic_port, sio_data.key);
CHECK_RET(_EnableGPIO(0x06 , eGPIO_Mode_Enable));
CHECK_RET(_SetGpioOutputEnableIdx( 0x06 , eGPIO_Direction_Out));
CHECK_RET(_SetGpioDriveEnable( 0x06 , eGPIO_Drive_Mode_OpenDrain));
CHECK_RET(_SetGpioOutputDataIdx( 0x06 , 1));
DeactiveSIO(sio_data.ic_port);

GPIO Status Register Read

init_fintek_sio(eSIO_TYPE_F81866, 0 ,&sio_data)
ActiveSIO(sio_data.ic_port, sio_data.key);
CHECK_RET(_EnableGPIO(0x06 , eGPIO_Mode_Enable));
CHECK_RET(_SetGpioOutputEnableIdx( 0x06 , eGPIO_Direction_In));
CHECK_RET(_GetGpioInputDataIdx( 0x06 , &data));
DeactiveSIO(sio_data.ic_port);

GPIO Comparison

 CHECK_RET(_GetGpioInputDataIdx (0x10,&BDIO_data));
 if((BDIO_data == 1) & (BDIO_startvalue_data == 0) )
 {
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton2), TRUE);
 }
 CHECK_RET(_GetGpioInputDataIdx (0x11,&BDI1_data));
 if((BDI1_data == 1) & (BDI1_startvalue_data == 0) )
 {
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton4), TRUE);
 }
 CHECK_RET(_GetGpioInputDataIdx (0x12,&BDI2_data));
 if((BDI2_data == 1) & (BDI2_startvalue_data == 0) )
 {
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton6), TRUE);
 }
 CHECK_RET(_GetGpioInputDataIdx (0x13,&BDI3_data));
 if((BDI3_data == 1) & (BDI3_startvalue_data == 0) )
 {
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton8), TRUE);
 }

F75113 driver delete

 on_window1_destory         (GtKObject    *object,
                           gpointer      user_data)
 {
   int nRet = 0;
   sFintek_sio_data sio_data;
   set_debug(1);
   if( nRet = init_fintek_sio(eSIO_TYPE_F75113,0, &sio_data))
   {
       fprintf(stderr,"init_fintek_sio error\n");
       exit(3);
   }
   ActiveSIO(sio_data.ic_port, sio_data.key);
   DeactiveSIO(sio_data.ic_port);
   gtk_main_quit();
 }
Personal tools