
Hi
On Fri, Jun 22, 2018 at 9:10 AM, Lukasz Majewski lukma@denx.de wrote:
Hi Michael,
Hi all
Trying to understand how to get the last result. For example: sspi 1:0.3 24 700002; sspi 1:1.3 24 730000
The $? shall do the job.
=> true => echo $? 0 => false => echo $? 1
commit d7fc57cf5637416d23adb2e5fd1e6ec8fbed6a63 Author: Michael Trimarchi michael@amarulasolutions.com Date: Wed Jun 20 13:46:50 2018 +0200
cmd: spi: Export sspi command result in an enviroment variable
We would like to export sspi result in enviroment variable to use it later in any scripts
Change-Id: Iad92455630e3ef8042b2a9fe02f8995c0d8974c9 Signed-off-by: Michael Trimarchi michael@amarulasolutions.com
diff --git a/cmd/spi.c b/cmd/spi.c index 9a2edcf..00a9c15 100644 --- a/cmd/spi.c +++ b/cmd/spi.c @@ -37,13 +37,18 @@ static unsigned int cs; static unsigned int mode; static int bitlen; static uchar dout[MAX_SPI_BYTES]; -static uchar din[MAX_SPI_BYTES]; +static uchar din[MAX_SPI_BYTES + 1]; + +/* enviroment variable used to export the result */ +static char env_din[2 * MAX_SPI_BYTES];
static int do_spi_xfer(int bus, int cs) { struct spi_slave *slave; int ret = 0;
+ env_set("spiout", ""); + #ifdef CONFIG_DM_SPI char name[30], *str; struct udevice *dev; @@ -79,9 +84,13 @@ static int do_spi_xfer(int bus, int cs) } else { int j;
- for (j = 0; j < ((bitlen + 7) / 8); j++) + for (j = 0; j < ((bitlen + 7) / 8); j++) { printf("%02X", din[j]); + sprintf(&env_din[2 * j], "%02x", din[j]); + } printf("\n"); + env_din[2 * j] = 0; + env_set("spiout", env_din); :
Michael
Or have I misunderstood something?
Now I need to have the last output of the last command to compare in one script. Any idea?
Michael _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de