IO Device:F81966 LPC DIO under Linux console

From LEXWiKi

(Difference between revisions)
Jump to: navigation, search
(Digital Input/Ooutput test)
(F81966_DLL Function)
Line 59: Line 59:
#Enable loop ,Continuously reset the WDT to ensure that when the system is normal, the restart signal will not be triggered
#Enable loop ,Continuously reset the WDT to ensure that when the system is normal, the restart signal will not be triggered
-
== F81966_DLL Function ==
+
== libF81966.so Function ==
<pre>
<pre>
-
bool F81966_OPEN();
+
bool F81966_OPEN();
-
void F81966_Init();
+
void F81966_Init();
-
void F81966_LPC_Write(BYTE LDNData, BYTE reg, BYTE value);
+
-
BYTE F81966_LPC_Read(BYTE LDNData, BYTE reg);
+
-
void F81966_LPC_Digital_Write_LOW(BYTE byteValue);
+
-
void F81966_LPC_Digital_Write_HIGH(BYTE byteValue);
+
-
BYTE F81966_LPC_Digital_Read_LOW();
+
-
BYTE F81966_LPC_Digital_Read_HIGH();
+
-
void F81966_LPC_Set_WDT_Enable(BYTE byteValue);
+
-
void F81966_LPC_Set_WDT_Disable();
+
-
void EntryLPC();
+
-
void ExitLPC();
+
-
</pre>
+
-
=== Digital Input/Ooutput test===
+
-
<font Size="5"><font color=#FF0000>Note when using the following boards:2I110D</font></font><br />
+
BYTE GET_CIO_INPUT(int CIO_Number);
-
<font Size="5"><font color=#FF0000>CIO1 needs to be controlled by CIO3</font></font><br />
+
BYTE GET_CIO_OUTPUT_DATA(int CIO_Number);
-
<br />
+
BYTE SET_CIO_OUTPUT_DATA(int CIO_Number, BYTE byteValue);
-
[[Image:F81966_io_define.jpg]]<br>
+
 
 +
BYTE GetCIOXBit(int CIO_Number, BYTE bitPosition);
 +
BYTE SetCIOXBit0(int CIO_Number,BYTE byteValue, BYTE bitPosition);
 +
BYTE SetCIOXBit1(int CIO_Number,BYTE byteValue, BYTE bitPosition);
 +
 
 +
void F81966_LPC_Set_WDT_Enable(BYTE byteValue);
 +
void F81966_LPC_Set_WDT_Disable();
 +
 
 +
</pre>
 +
=== test_F81966 CIO Input/Ooutput ===
'''sample code'''
'''sample code'''
<pre>
<pre>
-
Set CIO1 CIO2 Digital Output all bit high
+
Set CIO1 Digital Output all bit low
-
F81966_LPC_Digital_Write_LOW(256);
+
test_F81966 write 0xf;
-
Set CIO1 CIO2 Digital Output all bit low
 
-
F81966_LPC_Digital_Write_LOW(0);
 
-
Set CIO1 Digital Output bit 4 high
+
Set CIO2 Digital Output all bit low
-
F81966_LPC_Digital_Write_LOW(16);
+
test_F81966 write 2 0x0;
-
Set CIO3 Digital Output bit 11 high
+
Set CIO3 Digital Output all bit high
-
F81966_LPC_Digital_Write_HIGH(8);
+
test_F81966 write 3 0xf;
 +
 
 +
Get CIO4 Digital Input
 +
test_F81966 read 4;
</pre>
</pre>
<pre>
<pre>
-
Read Din
+
read bit position
-
dwRead = F81966_LPC_Digital_Read_LOW();
+
test_F81966 getbit 1 1
-
dwRead = F81966_LPC_Digital_Read_HIGH();
+
 
 +
write bit position
 +
test_F81966 setbit 1 0 1
</pre>
</pre>
=== Watch Dog test===
=== Watch Dog test===
'''sample code'''<br>
'''sample code'''<br>
 +
test_F81966 getbit 1 1
<pre>
<pre>
Set WDT 10 sec
Set WDT 10 sec
-
F81966_LPC_Set_WDT_Enable(10);
+
test_F81966 wdt enable 10;
</pre>
</pre>
<pre>
<pre>
Disable WDT
Disable WDT
-
F81966_LPC_Set_WDT_Disable();
+
test_F81966 wdt disable;
</pre>
</pre>

Revision as of 12:28, 9 May 2025

Contents

The Sample code source you can download from

<FTP>

Source file: F81966_DIO_v1.1L_Src

Binary file: F81966_DIO_v1.1L_Bin_x86 F81966_DIO_v1.1L_Bin_x64

F81966 Libary : F81966_LIB_v1.1L_x86 F81966_LIB_v1.1L_x64

MB Support List

Elkhart LakeRaptor Lake

2I640CW

3I130TW

edit table

Introduction F81966 DIO

Image:F81966_Linux_help.png

  1. Start test Button,Send bits one by one and one by one receive
  2. CIO116 mode for CIO116 module use
  3. Set time countdown,If the end of the countdown, the trigger signal to reboot
  4. Enable loop ,Continuously reset the WDT to ensure that when the system is normal, the restart signal will not be triggered

libF81966.so Function

bool F81966_OPEN();
void F81966_Init();

BYTE GET_CIO_INPUT(int CIO_Number);
BYTE GET_CIO_OUTPUT_DATA(int CIO_Number);
BYTE SET_CIO_OUTPUT_DATA(int CIO_Number, BYTE byteValue);

BYTE GetCIOXBit(int CIO_Number, BYTE bitPosition);
BYTE SetCIOXBit0(int CIO_Number,BYTE byteValue, BYTE bitPosition);
BYTE SetCIOXBit1(int CIO_Number,BYTE byteValue, BYTE bitPosition);

void F81966_LPC_Set_WDT_Enable(BYTE byteValue);
void F81966_LPC_Set_WDT_Disable();

test_F81966 CIO Input/Ooutput

sample code

Set CIO1 Digital Output all bit low
test_F81966 write 0xf;


Set CIO2  Digital Output all bit low
test_F81966 write 2 0x0;

Set CIO3 Digital Output all bit high
test_F81966 write 3 0xf;

Get CIO4 Digital Input 
test_F81966 read 4;

read bit position
test_F81966 getbit 1 1

write bit position
test_F81966 setbit 1 0 1

Watch Dog test

sample code
test_F81966 getbit 1 1

Set WDT 10 sec
test_F81966 wdt enable 10;
Disable WDT
test_F81966 wdt disable;
Personal tools