X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=tools%2Fcarlu%2Fsrc%2Fcmd.c;h=81702b3fd94740e8275b29da88b23b7bcf42563c;hb=232b752b7772ade04210e562c0381e3988dc6fa0;hp=e7759dcb563abb3983fa04a707055bb94c3b2d66;hpb=2c38313ab59811fc13770d0b6c98044d910c3514;p=carl9170fw.git diff --git a/tools/carlu/src/cmd.c b/tools/carlu/src/cmd.c index e7759dc..81702b3 100644 --- a/tools/carlu/src/cmd.c +++ b/tools/carlu/src/cmd.c @@ -40,6 +40,7 @@ #include "debug.h" #include "fwcmd.h" #include "eeprom.h" +#include "cmd.h" int carlu_cmd_echo(struct carlu *ar, const uint32_t message) { @@ -119,7 +120,7 @@ int carlu_cmd_write_mem(struct carlu *ar, const uint32_t addr, const uint32_t val) { int err; - __le32 msg, block[2] = { addr, val }; + __le32 msg, block[2] = { cpu_to_le32(addr), cpu_to_le32(val) }; err = carlusb_cmd(ar, CARL9170_CMD_WREG, (void *) &block, sizeof(block), @@ -127,6 +128,18 @@ int carlu_cmd_write_mem(struct carlu *ar, const uint32_t addr, return err; } +int carlu_cmd_read_mem(struct carlu *ar, const uint32_t _addr, + uint32_t *val) +{ + int err; + __le32 msg, addr = { cpu_to_le32(_addr) }; + err = carlusb_cmd(ar, CARL9170_CMD_RREG, (void *) &addr, sizeof(addr), + (void *) &msg, sizeof(msg)); + + *val = le32_to_cpu(msg); + return err; +} + int carlu_cmd_read_eeprom(struct carlu *ar) {