diff options
author | Harald Welte <laforge@osmocom.org> | 2020-02-22 21:53:50 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2020-02-22 22:13:24 +0100 |
commit | 02712376dfbadd81bd89b639a60fbcd1d300e4b8 (patch) | |
tree | c32e44bb4cb5e4ed8bf4975ab7163c600e067469 | |
parent | baa62777c845c3466fae5d80729e6b2bd754eea8 (diff) |
simtrace2_api: Add osmo_st2_cardem_request_config()
In Change-Id I7cdd3f9171dbed45de0089defe29d2b59044bd84 we introduced
firmware support for SIMTRACE_MSGT_BD_CEMU_CONFIG. The respective
host part was so far only implemented in osmo-remsim-client-st2,
but not in libosmo-simtrace2. Let's fix that.
Change-Id: Ia4822d360a271d2ce9725f761cb95de58663ac3b
-rw-r--r-- | host/include/osmocom/simtrace2/simtrace2_api.h | 1 | ||||
-rw-r--r-- | host/lib/simtrace2_api.c | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/host/include/osmocom/simtrace2/simtrace2_api.h b/host/include/osmocom/simtrace2/simtrace2_api.h index d31fb85..012b96c 100644 --- a/host/include/osmocom/simtrace2/simtrace2_api.h +++ b/host/include/osmocom/simtrace2/simtrace2_api.h @@ -48,6 +48,7 @@ int osmo_st2_cardem_request_pb_and_tx(struct osmo_st2_cardem_inst *ci, uint8_t p int osmo_st2_cardem_request_sw_tx(struct osmo_st2_cardem_inst *ci, const uint8_t *sw); int osmo_st2_cardem_request_set_atr(struct osmo_st2_cardem_inst *ci, const uint8_t *atr, unsigned int atr_len); +int osmo_st2_cardem_request_config(struct osmo_st2_cardem_inst *ci, uint32_t features); int osmo_st2_modem_reset_pulse(struct osmo_st2_slot *slot, uint16_t duration_ms); diff --git a/host/lib/simtrace2_api.c b/host/lib/simtrace2_api.c index b2b2829..b3e4e38 100644 --- a/host/lib/simtrace2_api.c +++ b/host/lib/simtrace2_api.c @@ -204,6 +204,21 @@ int osmo_st2_cardem_request_set_atr(struct osmo_st2_cardem_inst *ci, const uint8 return osmo_st2_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_SET_ATR); } +int osmo_st2_cardem_request_config(struct osmo_st2_cardem_inst *ci, uint32_t features) +{ + struct msgb *msg = st_msgb_alloc(); + struct cardemu_usb_msg_config *cfg; + + cfg = (struct cardemu_usb_msg_config *) msgb_put(msg, sizeof(*cfg)); + + printf("<= %s(%08x)\n", __func__, features); + + memset(cfg, 0, sizeof(*cfg)); + cfg->features = features; + + return osmo_st2_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_BD_CEMU_CONFIG); +} + /*********************************************************************** * Modem Control protocol ***********************************************************************/ |