[U-Boot] help: how get last command result using scripting

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Fri Jun 22 07:11:32 UTC 2018


Hi

On Fri, Jun 22, 2018 at 9:10 AM, Lukasz Majewski <lukma at 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 at 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 at 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 at 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 at denx.de



-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |


More information about the U-Boot mailing list