Hexagon isoface input

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User7878
Level 1
Level 1
Hi!
We were not able to communicate properly with the Hexagon isoface-in using the SPI001. The Reading of the inputs return always 0.
We tryed every approach we could, searching this forum and the relevant documentation. There are certainly something that we are doing wrong at the beginning...
When debugging step by step most times it returns immediately after testing the FIFO empty. As a result the CS pin becomes low during one clock and then exits.

This is our last try, borrowed from the GUI app, used to read data from the SPI LCD :

---------------------------
uint16_t
Read_Isof_In()
{
bool result;
uint16_t Shadow_Data=0xFFFF;

result = SPI001_Configure(&SPI001_Handle0, &Read_Isoface);

SPI001_ClearFlag(&SPI001_Handle0,SPI001_RECV_IND_FLAG);
SPI001_WriteData(&SPI001_Handle0, &Shadow_Data, SPI001_STANDARD_FULLDUPLEX);
while(!SPI001_GetFlagStatus(&SPI001_Handle0,SPI001_RECV_IND_FLAG));

result = SPI001_ReadData(&SPI001_Handle0, &Iso_Inputs);
return (uint16_t)Iso_Inputs;
}
----------------------------------------------

We are shure that the pin config is correct, the Isoface_out is working, as well the lcd display where we are readind and writing data with the SPI.
DAVE 3.1.8 - SPI001 1.0.20
Is there anyone that have a working exemple using both isofaces?
Thanks
0 Likes
1 Reply
Not applicable
Hi,

Just have some thoughts:
1) If you are using AUT_ISO-V1 satellite card, you need to make sure the power supply for both ISOFACE IN & OUT is available.
2) It seems you misused some parameters in APIs. One example: Instead of using "SPI001_STANDARD_FULLDUPLEX", "SPI001_STANDARD" should be used in "SPI001_WriteData()" API. All the APIs & parameters can be found in SPI001.c & SPI001.h respectively.
3) Perhaps you can get some SPI codes from Forum thread "SPI MSLS (chip select)".

Best regards,
Zain
0 Likes