|
36 | 36 | #include <string.h>
|
37 | 37 |
|
38 | 38 | #include <openthread/logging.h>
|
| 39 | +#include <openthread/thread_ftd.h> |
39 | 40 | #include <openthread/platform/diag.h>
|
40 | 41 |
|
41 | 42 | #include "common/code_utils.hpp"
|
@@ -130,6 +131,13 @@ void Radio::ProcessRadioUrl(const RadioUrl &aRadioUrl)
|
130 | 131 | SuccessOrDie(otPlatRadioSetRegion(gInstance, regionCode));
|
131 | 132 | }
|
132 | 133 |
|
| 134 | + if (aRadioUrl.HasParam("bus-latency")) |
| 135 | + { |
| 136 | + uint32_t busLatency; |
| 137 | + SuccessOrDie(aRadioUrl.ParseUint32("bus-latency", busLatency)); |
| 138 | + mRadioSpinel.SetBusLatency(busLatency); |
| 139 | + } |
| 140 | + |
133 | 141 | ProcessMaxPowerTable(aRadioUrl);
|
134 | 142 |
|
135 | 143 | #if OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE
|
@@ -900,6 +908,22 @@ uint32_t otPlatRadioGetBusSpeed(otInstance *aInstance)
|
900 | 908 | return GetRadioSpinel().GetBusSpeed();
|
901 | 909 | }
|
902 | 910 |
|
| 911 | +uint32_t otPlatRadioGetBusLatency(otInstance *aInstance) |
| 912 | +{ |
| 913 | + OT_UNUSED_VARIABLE(aInstance); |
| 914 | + return GetRadioSpinel().GetBusLatency(); |
| 915 | +} |
| 916 | + |
| 917 | +void otPlatRadioSetBusLatency(otInstance *aInstance, uint32_t aLatency) |
| 918 | +{ |
| 919 | + GetRadioSpinel().SetBusLatency(aLatency); |
| 920 | +#if OPENTHREAD_FTD && OPENTHREAD_CONFIG_MAC_CSL_TRANSMITTER_ENABLE |
| 921 | + otThreaUpdateFrameRequestAhead(aInstance); |
| 922 | +#else |
| 923 | + OT_UNUSED_VARIABLE(aInstance); |
| 924 | +#endif |
| 925 | +} |
| 926 | + |
903 | 927 | #if OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE || OPENTHREAD_CONFIG_MAC_CSL_TRANSMITTER_ENABLE
|
904 | 928 | uint8_t otPlatRadioGetCslAccuracy(otInstance *aInstance)
|
905 | 929 | {
|
|
0 commit comments