FT245 documentation
Static mode external functions
The following functions need to be implemented in your source code to be used by the driver.
void FT245_DATA0_to_input(void)
Changes the mode of the signal DATA0
to input.
void FT245_DATA1_to_input(void)
Changes the mode of the signal DATA1
to input.
void FT245_DATA2_to_input(void)
Changes the mode of the signal DATA2
to input.
void FT245_DATA3_to_input(void)
Changes the mode of the signal DATA3
to input.
void FT245_DATA4_to_input(void)
Changes the mode of the signal DATA4
to input.
void FT245_DATA5_to_input(void)
Changes the mode of the signal DATA5
to input.
void FT245_DATA6_to_input(void)
Changes the mode of the signal DATA6
to input.
void FT245_DATA7_to_input(void)
Changes the mode of the signal DATA7
to input.
void FT245_DATA8_to_input(void)
Changes the mode of the signal DATA8
to input.
void FT245_DATA9_to_input(void)
Changes the mode of the signal DATA9
to input.
void FT245_DATA10_to_input(void)
Changes the mode of the signal DATA10
to input.
void FT245_DATA11_to_input(void)
Changes the mode of the signal DATA11
to input.
void FT245_DATA12_to_input(void)
Changes the mode of the signal DATA12
to input.
void FT245_DATA13_to_input(void)
Changes the mode of the signal DATA13
to input.
void FT245_DATA14_to_input(void)
Changes the mode of the signal DATA14
to input.
void FT245_DATA15_to_input(void)
Changes the mode of the signal DATA15
to input.
void FT245_DATA16_to_input(void)
Changes the mode of the signal DATA16
to input.
void FT245_DATA17_to_input(void)
Changes the mode of the signal DATA17
to input.
void FT245_DATA18_to_input(void)
Changes the mode of the signal DATA18
to input.
void FT245_DATA19_to_input(void)
Changes the mode of the signal DATA19
to input.
void FT245_DATA20_to_input(void)
Changes the mode of the signal DATA20
to input.
void FT245_DATA21_to_input(void)
Changes the mode of the signal DATA21
to input.
void FT245_DATA22_to_input(void)
Changes the mode of the signal DATA22
to input.
void FT245_DATA23_to_input(void)
Changes the mode of the signal DATA23
to input.
void FT245_DATA24_to_input(void)
Changes the mode of the signal DATA24
to input.
void FT245_DATA25_to_input(void)
Changes the mode of the signal DATA25
to input.
void FT245_DATA26_to_input(void)
Changes the mode of the signal DATA26
to input.
void FT245_DATA27_to_input(void)
Changes the mode of the signal DATA27
to input.
void FT245_DATA28_to_input(void)
Changes the mode of the signal DATA28
to input.
void FT245_DATA29_to_input(void)
Changes the mode of the signal DATA29
to input.
void FT245_DATA30_to_input(void)
Changes the mode of the signal DATA30
to input.
void FT245_DATA31_to_input(void)
Changes the mode of the signal DATA31
to input.
void FT245_BE0_to_input(void)
Changes the mode of the signal BE0
to input.
void FT245_BE1_to_input(void)
Changes the mode of the signal BE1
to input.
void FT245_BE2_to_input(void)
Changes the mode of the signal BE2
to input.
void FT245_BE3_to_input(void)
Changes the mode of the signal BE3
to input.
void FT245_DATA0_to_output(void)
Changes the mode of the signal DATA0
to output.
void FT245_DATA1_to_output(void)
Changes the mode of the signal DATA1
to output.
void FT245_DATA2_to_output(void)
Changes the mode of the signal DATA2
to output.
void FT245_DATA3_to_output(void)
Changes the mode of the signal DATA3
to output.
void FT245_DATA4_to_output(void)
Changes the mode of the signal DATA4
to output.
void FT245_DATA5_to_output(void)
Changes the mode of the signal DATA5
to output.
void FT245_DATA6_to_output(void)
Changes the mode of the signal DATA6
to output.
void FT245_DATA7_to_output(void)
Changes the mode of the signal DATA7
to output.
void FT245_DATA8_to_output(void)
Changes the mode of the signal DATA8
to output.
void FT245_DATA9_to_output(void)
Changes the mode of the signal DATA9
to output.
void FT245_DATA10_to_output(void)
Changes the mode of the signal DATA10
to output.
void FT245_DATA11_to_output(void)
Changes the mode of the signal DATA11
to output.
void FT245_DATA12_to_output(void)
Changes the mode of the signal DATA12
to output.
void FT245_DATA13_to_output(void)
Changes the mode of the signal DATA13
to output.
void FT245_DATA14_to_output(void)
Changes the mode of the signal DATA14
to output.
void FT245_DATA15_to_output(void)
Changes the mode of the signal DATA15
to output.
void FT245_DATA16_to_output(void)
Changes the mode of the signal DATA16
to output.
void FT245_DATA17_to_output(void)
Changes the mode of the signal DATA17
to output.
void FT245_DATA18_to_output(void)
Changes the mode of the signal DATA18
to output.
void FT245_DATA19_to_output(void)
Changes the mode of the signal DATA19
to output.
void FT245_DATA20_to_output(void)
Changes the mode of the signal DATA20
to output.
void FT245_DATA21_to_output(void)
Changes the mode of the signal DATA21
to output.
void FT245_DATA22_to_output(void)
Changes the mode of the signal DATA22
to output.
void FT245_DATA23_to_output(void)
Changes the mode of the signal DATA23
to output.
void FT245_DATA24_to_output(void)
Changes the mode of the signal DATA24
to output.
void FT245_DATA25_to_output(void)
Changes the mode of the signal DATA25
to output.
void FT245_DATA26_to_output(void)
Changes the mode of the signal DATA26
to output.
void FT245_DATA27_to_output(void)
Changes the mode of the signal DATA27
to output.
void FT245_DATA28_to_output(void)
Changes the mode of the signal DATA28
to output.
void FT245_DATA29_to_output(void)
Changes the mode of the signal DATA29
to output.
void FT245_DATA30_to_output(void)
Changes the mode of the signal DATA30
to output.
void FT245_DATA31_to_output(void)
Changes the mode of the signal DATA31
to output.
void FT245_BE0_to_output(void)
Changes the mode of the signal BE0
to output.
void FT245_BE1_to_output(void)
Changes the mode of the signal BE1
to output.
void FT245_BE2_to_output(void)
Changes the mode of the signal BE2
to output.
void FT245_BE3_to_output(void)
Changes the mode of the signal BE3
to output.
void FT245_CLK_set(void)
Sets the CLK
signal to high.
void FT245_RXF_N_set(void)
Sets the RXF_N
signal to high.
void FT245_TXE_N_set(void)
Sets the TXE_N
signal to high.
void FT245_DATA0_set(void)
Sets the DATA0
signal to high.
void FT245_DATA1_set(void)
Sets the DATA1
signal to high.
void FT245_DATA2_set(void)
Sets the DATA2
signal to high.
void FT245_DATA3_set(void)
Sets the DATA3
signal to high.
void FT245_DATA4_set(void)
Sets the DATA4
signal to high.
void FT245_DATA5_set(void)
Sets the DATA5
signal to high.
void FT245_DATA6_set(void)
Sets the DATA6
signal to high.
void FT245_DATA7_set(void)
Sets the DATA7
signal to high.
void FT245_DATA8_set(void)
Sets the DATA8
signal to high.
void FT245_DATA9_set(void)
Sets the DATA9
signal to high.
void FT245_DATA10_set(void)
Sets the DATA10
signal to high.
void FT245_DATA11_set(void)
Sets the DATA11
signal to high.
void FT245_DATA12_set(void)
Sets the DATA12
signal to high.
void FT245_DATA13_set(void)
Sets the DATA13
signal to high.
void FT245_DATA14_set(void)
Sets the DATA14
signal to high.
void FT245_DATA15_set(void)
Sets the DATA15
signal to high.
void FT245_DATA16_set(void)
Sets the DATA16
signal to high.
void FT245_DATA17_set(void)
Sets the DATA17
signal to high.
void FT245_DATA18_set(void)
Sets the DATA18
signal to high.
void FT245_DATA19_set(void)
Sets the DATA19
signal to high.
void FT245_DATA20_set(void)
Sets the DATA20
signal to high.
void FT245_DATA21_set(void)
Sets the DATA21
signal to high.
void FT245_DATA22_set(void)
Sets the DATA22
signal to high.
void FT245_DATA23_set(void)
Sets the DATA23
signal to high.
void FT245_DATA24_set(void)
Sets the DATA24
signal to high.
void FT245_DATA25_set(void)
Sets the DATA25
signal to high.
void FT245_DATA26_set(void)
Sets the DATA26
signal to high.
void FT245_DATA27_set(void)
Sets the DATA27
signal to high.
void FT245_DATA28_set(void)
Sets the DATA28
signal to high.
void FT245_DATA29_set(void)
Sets the DATA29
signal to high.
void FT245_DATA30_set(void)
Sets the DATA30
signal to high.
void FT245_DATA31_set(void)
Sets the DATA31
signal to high.
void FT245_BE0_set(void)
Sets the BE0
signal to high.
void FT245_BE1_set(void)
Sets the BE1
signal to high.
void FT245_BE2_set(void)
Sets the BE2
signal to high.
void FT245_BE3_set(void)
Sets the BE3
signal to high.
void FT245_CLK_reset(void)
Sets the CLK
signal to low.
void FT245_RXF_N_reset(void)
Sets the RXF_N
signal to low.
void FT245_TXE_N_reset(void)
Sets the TXE_N
signal to low.
void FT245_DATA0_reset(void)
Sets the DATA0
signal to low.
void FT245_DATA1_reset(void)
Sets the DATA1
signal to low.
void FT245_DATA2_reset(void)
Sets the DATA2
signal to low.
void FT245_DATA3_reset(void)
Sets the DATA3
signal to low.
void FT245_DATA4_reset(void)
Sets the DATA4
signal to low.
void FT245_DATA5_reset(void)
Sets the DATA5
signal to low.
void FT245_DATA6_reset(void)
Sets the DATA6
signal to low.
void FT245_DATA7_reset(void)
Sets the DATA7
signal to low.
void FT245_DATA8_reset(void)
Sets the DATA8
signal to low.
void FT245_DATA9_reset(void)
Sets the DATA9
signal to low.
void FT245_DATA10_reset(void)
Sets the DATA10
signal to low.
void FT245_DATA11_reset(void)
Sets the DATA11
signal to low.
void FT245_DATA12_reset(void)
Sets the DATA12
signal to low.
void FT245_DATA13_reset(void)
Sets the DATA13
signal to low.
void FT245_DATA14_reset(void)
Sets the DATA14
signal to low.
void FT245_DATA15_reset(void)
Sets the DATA15
signal to low.
void FT245_DATA16_reset(void)
Sets the DATA16
signal to low.
void FT245_DATA17_reset(void)
Sets the DATA17
signal to low.
void FT245_DATA18_reset(void)
Sets the DATA18
signal to low.
void FT245_DATA19_reset(void)
Sets the DATA19
signal to low.
void FT245_DATA20_reset(void)
Sets the DATA20
signal to low.
void FT245_DATA21_reset(void)
Sets the DATA21
signal to low.
void FT245_DATA22_reset(void)
Sets the DATA22
signal to low.
void FT245_DATA23_reset(void)
Sets the DATA23
signal to low.
void FT245_DATA24_reset(void)
Sets the DATA24
signal to low.
void FT245_DATA25_reset(void)
Sets the DATA25
signal to low.
void FT245_DATA26_reset(void)
Sets the DATA26
signal to low.
void FT245_DATA27_reset(void)
Sets the DATA27
signal to low.
void FT245_DATA28_reset(void)
Sets the DATA28
signal to low.
void FT245_DATA29_reset(void)
Sets the DATA29
signal to low.
void FT245_DATA30_reset(void)
Sets the DATA30
signal to low.
void FT245_DATA31_reset(void)
Sets the DATA31
signal to low.
void FT245_BE0_reset(void)
Sets the BE0
signal to low.
void FT245_BE1_reset(void)
Sets the BE1
signal to low.
void FT245_BE2_reset(void)
Sets the BE2
signal to low.
void FT245_BE3_reset(void)
Sets the BE3
signal to low.
void FT245_CLK_toggle(void)
Toggles the CLK
signal.
bool FT245_TXE_N_read(void)
Reads the TXE_N
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_RXF_N_read(void)
Reads the RXF_N
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_WR_N_read(void)
Reads the WR_N
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_SIWU_N_read(void)
Reads the SIWU_N
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_RD_N_read(void)
Reads the RD_N
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_OE_N_read(void)
Reads the OE_N
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_RST_N_read(void)
Reads the RST_N
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA0_read(void)
Reads the DATA0
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA1_read(void)
Reads the DATA1
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA2_read(void)
Reads the DATA2
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA3_read(void)
Reads the DATA3
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA4_read(void)
Reads the DATA4
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA5_read(void)
Reads the DATA5
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA6_read(void)
Reads the DATA6
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA7_read(void)
Reads the DATA7
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA8_read(void)
Reads the DATA8
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA9_read(void)
Reads the DATA9
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA10_read(void)
Reads the DATA10
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA11_read(void)
Reads the DATA11
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA12_read(void)
Reads the DATA12
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA13_read(void)
Reads the DATA13
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA14_read(void)
Reads the DATA14
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA15_read(void)
Reads the DATA15
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA16_read(void)
Reads the DATA16
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA17_read(void)
Reads the DATA17
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA18_read(void)
Reads the DATA18
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA19_read(void)
Reads the DATA19
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA20_read(void)
Reads the DATA20
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA21_read(void)
Reads the DATA21
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA22_read(void)
Reads the DATA22
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA23_read(void)
Reads the DATA23
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA24_read(void)
Reads the DATA24
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA25_read(void)
Reads the DATA25
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA26_read(void)
Reads the DATA26
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA27_read(void)
Reads the DATA27
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA28_read(void)
Reads the DATA28
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA29_read(void)
Reads the DATA29
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA30_read(void)
Reads the DATA30
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_DATA31_read(void)
Reads the DATA31
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_BE0_read(void)
Reads the BE0
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_BE1_read(void)
Reads the BE1
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_BE2_read(void)
Reads the BE2
signal.
Returns:
false
: Signal is low.true
: Signal is high.
bool FT245_BE3_read(void)
Reads the BE3
signal.
Returns:
false
: Signal is low.true
: Signal is high.
Dynamic mode external functions
The following functions need to be implemented in your source code and assigned to the respective function pointers in ft245_t
struct.
void (*DATA0_to_input)(void);
void (*DATA1_to_input)(void);
void (*DATA2_to_input)(void);
void (*DATA3_to_input)(void);
void (*DATA4_to_input)(void);
void (*DATA5_to_input)(void);
void (*DATA6_to_input)(void);
void (*DATA7_to_input)(void);
void (*DATA8_to_input)(void);
void (*DATA9_to_input)(void);
void (*DATA10_to_input)(void);
void (*DATA11_to_input)(void);
void (*DATA12_to_input)(void);
void (*DATA13_to_input)(void);
void (*DATA14_to_input)(void);
void (*DATA15_to_input)(void);
void (*DATA16_to_input)(void);
void (*DATA17_to_input)(void);
void (*DATA18_to_input)(void);
void (*DATA19_to_input)(void);
void (*DATA20_to_input)(void);
void (*DATA21_to_input)(void);
void (*DATA22_to_input)(void);
void (*DATA23_to_input)(void);
void (*DATA24_to_input)(void);
void (*DATA25_to_input)(void);
void (*DATA26_to_input)(void);
void (*DATA27_to_input)(void);
void (*DATA28_to_input)(void);
void (*DATA29_to_input)(void);
void (*DATA30_to_input)(void);
void (*DATA31_to_input)(void);
void (*BE0_to_input)(void);
void (*BE1_to_input)(void);
void (*BE2_to_input)(void);
void (*BE3_to_input)(void);
void (*DATA0_to_output)(void);
void (*DATA1_to_output)(void);
void (*DATA2_to_output)(void);
void (*DATA3_to_output)(void);
void (*DATA4_to_output)(void);
void (*DATA5_to_output)(void);
void (*DATA6_to_output)(void);
void (*DATA7_to_output)(void);
void (*DATA8_to_output)(void);
void (*DATA9_to_output)(void);
void (*DATA10_to_output)(void);
void (*DATA11_to_output)(void);
void (*DATA12_to_output)(void);
void (*DATA13_to_output)(void);
void (*DATA14_to_output)(void);
void (*DATA15_to_output)(void);
void (*DATA16_to_output)(void);
void (*DATA17_to_output)(void);
void (*DATA18_to_output)(void);
void (*DATA19_to_output)(void);
void (*DATA20_to_output)(void);
void (*DATA21_to_output)(void);
void (*DATA22_to_output)(void);
void (*DATA23_to_output)(void);
void (*DATA24_to_output)(void);
void (*DATA25_to_output)(void);
void (*DATA26_to_output)(void);
void (*DATA27_to_output)(void);
void (*DATA28_to_output)(void);
void (*DATA29_to_output)(void);
void (*DATA30_to_output)(void);
void (*DATA31_to_output)(void);
void (*BE0_to_output)(void);
void (*BE1_to_output)(void);
void (*BE2_to_output)(void);
void (*BE3_to_output)(void);
void (*CLK_set)(void);
void (*RXF_N_set)(void);
void (*TXE_N_set)(void);
void (*DATA0_set)(void);
void (*DATA1_set)(void);
void (*DATA2_set)(void);
void (*DATA3_set)(void);
void (*DATA4_set)(void);
void (*DATA5_set)(void);
void (*DATA6_set)(void);
void (*DATA7_set)(void);
void (*DATA8_set)(void);
void (*DATA9_set)(void);
void (*DATA10_set)(void);
void (*DATA11_set)(void);
void (*DATA12_set)(void);
void (*DATA13_set)(void);
void (*DATA14_set)(void);
void (*DATA15_set)(void);
void (*DATA16_set)(void);
void (*DATA17_set)(void);
void (*DATA18_set)(void);
void (*DATA19_set)(void);
void (*DATA20_set)(void);
void (*DATA21_set)(void);
void (*DATA22_set)(void);
void (*DATA23_set)(void);
void (*DATA24_set)(void);
void (*DATA25_set)(void);
void (*DATA26_set)(void);
void (*DATA27_set)(void);
void (*DATA28_set)(void);
void (*DATA29_set)(void);
void (*DATA30_set)(void);
void (*DATA31_set)(void);
void (*BE0_set)(void);
void (*BE1_set)(void);
void (*BE2_set)(void);
void (*BE3_set)(void);
void (*CLK_reset)(void);
void (*RXF_N_reset)(void);
void (*TXE_N_reset)(void);
void (*DATA0_reset)(void);
void (*DATA1_reset)(void);
void (*DATA2_reset)(void);
void (*DATA3_reset)(void);
void (*DATA4_reset)(void);
void (*DATA5_reset)(void);
void (*DATA6_reset)(void);
void (*DATA7_reset)(void);
void (*DATA8_reset)(void);
void (*DATA9_reset)(void);
void (*DATA10_reset)(void);
void (*DATA11_reset)(void);
void (*DATA12_reset)(void);
void (*DATA13_reset)(void);
void (*DATA14_reset)(void);
void (*DATA15_reset)(void);
void (*DATA16_reset)(void);
void (*DATA17_reset)(void);
void (*DATA18_reset)(void);
void (*DATA19_reset)(void);
void (*DATA20_reset)(void);
void (*DATA21_reset)(void);
void (*DATA22_reset)(void);
void (*DATA23_reset)(void);
void (*DATA24_reset)(void);
void (*DATA25_reset)(void);
void (*DATA26_reset)(void);
void (*DATA27_reset)(void);
void (*DATA28_reset)(void);
void (*DATA29_reset)(void);
void (*DATA30_reset)(void);
void (*DATA31_reset)(void);
void (*BE0_reset)(void);
void (*BE1_reset)(void);
void (*BE2_reset)(void);
void (*BE3_reset)(void);
void (*CLK_toggle)(void);
bool (*TXE_N_read)(void);
bool (*RXF_N_read)(void);
bool (*WR_N_read)(void);
bool (*SIWU_N_read)(void);
bool (*RD_N_read)(void);
bool (*OE_N_read)(void);
bool (*RST_N_read)(void);
bool (*DATA0_read)(void);
bool (*DATA1_read)(void);
bool (*DATA2_read)(void);
bool (*DATA3_read)(void);
bool (*DATA4_read)(void);
bool (*DATA5_read)(void);
bool (*DATA6_read)(void);
bool (*DATA7_read)(void);
bool (*DATA8_read)(void);
bool (*DATA9_read)(void);
bool (*DATA10_read)(void);
bool (*DATA11_read)(void);
bool (*DATA12_read)(void);
bool (*DATA13_read)(void);
bool (*DATA14_read)(void);
bool (*DATA15_read)(void);
bool (*DATA16_read)(void);
bool (*DATA17_read)(void);
bool (*DATA18_read)(void);
bool (*DATA19_read)(void);
bool (*DATA20_read)(void);
bool (*DATA21_read)(void);
bool (*DATA22_read)(void);
bool (*DATA23_read)(void);
bool (*DATA24_read)(void);
bool (*DATA25_read)(void);
bool (*DATA26_read)(void);
bool (*DATA27_read)(void);
bool (*DATA28_read)(void);
bool (*DATA29_read)(void);
bool (*DATA30_read)(void);
bool (*DATA31_read)(void);
bool (*BE0_read)(void);
bool (*BE1_read)(void);
bool (*BE2_read)(void);
bool (*BE3_read)(void);
The functions descriptions are the same as for static mode. You can even assign your implemented static mode functions to the dynamic mode function pointers.
Control functions
The following functions are used to initialize the FT245 driver and control it.
void FT245_init(ft245_t *ft245)
Initializes the ft245_t
instance.
Initializes the RX/TX buffers and sets all I/O signals to input.
Parameters:
ft245
:ft245_t
instance.
void FT245_periodic(ft245_t *ft245)
Runs the internal communication logic and iterates the state machine. Automatically toggles the CLK
signal and responds to input signals. Needs to be called periodically via timer interrupt or in a loop for this driver to work properly.
Parameters:
ft245
:ft245_t
instance.
Runtime functions
The following functions are used to send/receive data in runtime after initialization.
bool FT245_write_buffered(ft245_t *ft245, uint8_t *data, size_t size)
Writes a given amount of data
, specified with size
, to the output buffer. It will be sent automatically on one of the following FT245_periodic(...)
calls.
Parameters:
ft245
:ft245_t
instance.data
: Pointer to the data buffer to be sent.size
: Amount of data elements to send.
Returns:
true
: Data successfully transferred to output buffer.false
: Data could not be transferred to output buffer.
size_t FT245_read_buffered(ft245_t *ft245, uint8_t *data, size_t size)
Reads up to the given amount of data from the input buffer, specified with size
, to the pointer data
.
Parameters:
ft245
:ft245_t
instance.data
: Pointer to the data buffer to be read.size
: Amount of data elements to read.
Returns:
- Number of bytes actually read.
bool FT245_write_word_buffered(ft245_t *ft245, uint32_t word)
Writes a full 32-bit word word
to the output buffer. It will be sent automatically on one of the following FT245_periodic(...)
calls.
Parameters:
ft245
:ft245_t
instance.word
: 32-bit data word to be sent.
Returns:
true
: Data word successfully transferred to output buffer.false
: Data word could not be transferred to output buffer.
bool FT245_read_word_buffered(ft245_t *ft245, uint32_t *word)
Reads one data word from the input buffer, if available, to the location pointed to by word
.
Parameters:
ft245
:ft245_t
instance.word
: Pointer to the location the word gets transferred to.
Returns:
true
: Data successfully transferred toword
.false
: Data could not be transferred toword
, i.e. no full word available at input buffer.
size_t FT245_available_read(ft245_t *ft245)
Returns the number of bytes available in the input buffer.
Parameters:
ft245
:ft245_t
instance.
Returns:
- Number of bytes available in the input buffer.
size_t FT245_available_write(ft245_t *ft245)
Returns the available space (in bytes) of the output buffer.
Parameters:
ft245
:ft245_t
instance.
Returns:
- Available space (in bytes) of the output buffer.