summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-04-06uwb(uci): Make UCI PDL library available to vendorsRoshan Pius
Bug: 195992658 Test: Compiles Change-Id: I8a4801f7e6c8909adab5eee0e3fdb0c84fca74ad
2022-04-06uwb(uci_rust): Handle vendor HAL crashes gracefullyRoshan Pius
Send DeviceStatusNotification with state = Error to the java stack when there is a fatal error in the HAL (indicated by HAL crash or explicit HAL event with event = Error). Bug: 227488208 Test: Manual tests Test: atest libuwb_uci_rust_tests Change-Id: I6e8c394c4c27e4173cb25528d0cbf04a2029a2c1
2022-04-06uwb(uci-rust): Add StatusCode from PDL to UwbErrRoshan Pius
To indicate status errors returned from the UCI HAL. Bug: 222372272 Test: Manual tests Test: atest libuwb_uci_rust_tests libuwb_uci_jni_rust_tests Test: CtsUwbTestsCases Change-Id: I87e0617c0212cad7fcdc29f4cee626c7435f3348
2022-04-06uwb_core: add UciMessage, UciCommand, UciResponse, UciNotificationChih-Yu Huang
This CL adds UciMessage, UciCommand, UciResponse, UciNotification. These structs express the data structure of the UCI control messages. With these structs, we could encapsulate the uwb_uci_packets implementation details to the client of the module. Bug: 227264247 Test: cargo test -p uwb_core Change-Id: I546af37ca915a96ad5494dfd9d5400a1a9555618
2022-04-06uwb_core: add uci::params moduleChih-Yu Huang
This CL adds uci::params module. In this module, we put all of the structs and enums needed by the UCI commands, responses, and notifications. Bug: 227264247 Test: cargo test -p uwb_core Change-Id: I37454a65e9d5596defcb8101f07bd957aa1e3b01
2022-04-06uwb_core: add StatusCodeChih-Yu Huang
This CL adds a StatusCode enum, and adds it as one kind of UciError. The StatusCode is the same as the one at the UCI specification. Bug: 227264247 Test: cargo test -p uwb_core Change-Id: Ia8f2e6629abe53887f30b955eff663fd96e249f5
2022-04-06uwb_core: add TimeoutUciHal structChih-Yu Huang
This CL add TimeoutUciHal struct. It wraps all of the UciHal's aync methods to handles the timeout situation. If the methods doesn't finish in a period of time, then TimeoutUciHal interrupts the methods and return timeout failure. Bug: 227264247 Test: cargo test -p uwb_core Change-Id: I5ef7f3e7c745afa1d4f003e27260d9390194c47a
2022-04-06uwb_core: Add uci moduleChih-Yu Huang
This CL adds the uci module for the UCI functionailities. Also, it adds UciHal trait that abstracts the UCI vendor HAL. In the future, the library's user should implement the UciHal trait and inject the implementation into the library. Bug: 227264247 Test: cargo test -p uwb_core Change-Id: I10efc1c34d42d9211ea7d8994612ae3a5e5d58a2
2022-04-05uci(rust): Handle fragmentation/defragmentation of packetsRoshan Pius
UCI spec mandates fragmentation of cmd/rsp/ntf if the payload size if > 255 (len field is 8 byte). Ideally this should be handled by the PDL more cleanly in the future But, we need a fix for UWB in Android T. Changes: 1. Add a new base |UciPacket| definition which can hold the whole cmd/rsp/notif and is used throughout the UWB stack. Use this as the base packet for all packet definitions in the PDL. This allows the stack to abstract the fragmentation to |UwbAdaption| module. 2. Add a separate |UciPacketHal| definition representing the spec defined UCI packet. This packet is sent/received from the HAL interface. 3. Add conversion mechanism from |UciPacket| to |UciPacketHal| & vice-versa for incoming/outgoing HAL packets. 4. added a MockHal for testing of UwbAdaptationImpl. Bug: 202760099 Test: Existing Manual tests. Test: atest CtsUwbTestCases Test: atest libuwb_uci_rust_tests Change-Id: Id275000cf27e10d6e35285c5bfb2beca095f6d75
2022-04-04uci(rust): Fix bug in build_uci_vendor_cmd_packetRoshan Pius
This was accidentally reverted in ag/17530505. Bug: 210933436 Change-Id: I6a7ea40c77b14deac067d8aa8c6cdebd7ebb871a Test: atest CtsUwbTestCases
2022-04-01Merge "Revert "uwb(uci-rust): Switch Android GID temporarily"" into tm-devTreeHugger Robot
2022-04-01Merge "Handle error for invalid input." into tm-devBob Wang
2022-04-01Revert "uwb(uci-rust): Switch Android GID temporarily"Roshan Pius
This reverts commit 09bf3a78045fd547c54c7286bcce5260e78a299e. Reason for revert: Qorvo has switched over to the new GID. Bug: 218883784 Change-Id: Id12916e96fc4223d0135f967f908054d6189d82c
2022-04-01uwb_uci_packets: align missing UCI status error codes with FiRaJeremy Rocher
Bug: 227671107 Test: atest libuwb_uci_packet_tests Change-Id: Ifc2314f6e58b8e041966da26485b2d44f2ac4634
2022-03-31Handle error for invalid input.ziyiw
Handle the invalid input for creating Uci packet. It should not be panicked. Test: manual Bug: 202531943 Change-Id: Icf0c28de2891b042476157d1bf01300831bc6114
2022-03-30Merge changes from topic "nxp_c_upstream" into tm-devRoshan Pius
* changes: Buffer not being free when required. UCI changes to support vendor extension funtionality
2022-03-30Merge changes from topics "presubmit-am-0a19a157c70b4160bfa38108da61d322", ↵TreeHugger Robot
"presubmit-am-137edfbf71b941d9834c73e77334d377", "presubmit-am-2fdc867f41254ce49957156ee8c33ed9", "presubmit-am-65762e34df3540f2a23ded3d5307f5cc", "presubmit-am-783780d8027f43638f7cd1aee08e9f46" into tm-dev * changes: uwb_core: add dependencies at Cargo.toml and Android.bp event_manager: avoid expect() when failed to convert data uwb_core: use Cargo workspace uwb_uci_packets: Rename DeviceConfigTLV to DeviceConfigTlv uwb_uci_packets: fix typo from SESSSION to SESSION uwb_uci_packets: change ControleeStatus's status type to MulticastUpdateStatusCode
2022-03-29Buffer not being free when required.darshan k s
Fix for disable API spend more than 1 second (cherry-picked from go/pag/2137195) Bug: 215224289 Test: Compiles Change-Id: Ic39b78da02ec40e95819f503161e6096577589aa
2022-03-29UCI changes to support vendor extension funtionalitySreenivasaiah venkateshaiah
(cherry-picked from go/pag/2184929) Bug: 215224289 Test: Compiles Change-Id: I89abe7a18cbe671292b5fb8d3d9520bcc4491591
2022-03-29Merge "uci_hmsgs: fix build_uci_vendor_cmd_packet() method" into tm-devTreeHugger Robot
2022-03-29uwb_core: add dependencies at Cargo.toml and Android.bpChih-Yu Huang
This CL adds uwb_core's dependencies libraries to Cargo.toml and Android.bp, which are used in the following CLs. Bug: 227272387 Test: mmm external/uwb Test: cargo test -p uwb_core Test: atest libuwb_core_tests Change-Id: I1899424e1aed15918a9cdf723526433d5801afaa
2022-03-29event_manager: avoid expect() when failed to convert dataChih-Yu Huang
expect() would crash the process in failed case. This CL avoids using expect(), and return Error::JniCall(JniError::Unknown) gracefully. Bug: 227263938 Test: mmm external/uwb Change-Id: I846eaa6a694af501561797b5401f5ac3f9f5991b
2022-03-29uwb_core: use Cargo workspaceChih-Yu Huang
uwb_core will depend on uwb_uci_packets in the future. This CL adds the cargo workspace that includes these 2 crates. With the workspace, cargo will build these 2 crates and their dependencies at the same place. Bug: 224686845 Test: cargo test -p uwb_core Change-Id: I3fe1d2d94323e151fa63ff5a6903ef47ecb9bd74
2022-03-29uwb_uci_packets: Rename DeviceConfigTLV to DeviceConfigTlvChih-Yu Huang
Most structs in uwb_uci_packets uses "Tlv" at naming, only DeviceConfigTLV uses capital "TLV". This CL renames it to DeviceConfigTlv for consistency. Bug: 227263938 Test: mmm external/uwb Test: mmm packages/modules/Uwb Change-Id: I2bedc4d3190f35a9be368e7f0d141f4fcda5f419
2022-03-29uwb_uci_packets: fix typo from SESSSION to SESSIONChih-Yu Huang
Bug: 227263938 Test: mmm packages/modules/Uwb Change-Id: Ie771be3d7a7566e33c409c7e7721178ade868353
2022-03-29uwb_uci_packets: change ControleeStatus's status type to ↵Chih-Yu Huang
MulticastUpdateStatusCode According to the UCI spec, ControleeStatus's status field is the MulticastUpdateStatusCode enum, not a simple u8 value. This CL updates the type of the field. Bug: 227263938 Test: atest libuwb_uci_rust_tests Test: mmm external/uwb Change-Id: I1d764fc27682a24366f70744eb39a478fe0cdf20
2022-03-17uci_hmsgs: fix build_uci_vendor_cmd_packet() methodChih-Yu Huang
Originally, build_uci_vendor_cmd_packet() method converts the non-empty payload to None, and converts empty payload to Some([]). This CL fixes the logic. Bug: none Test: mmm -j32 external/uwb/ Change-Id: If46b856f9f2f9b8c562d6f81d152b0a67fac3ee5
2022-03-16uwb_core: add rustfmt.tomlChih-Yu Huang
Bug: 224686845 Test: Run "cargo fmt" at external/uwb/rust/uwb_core Change-Id: Icecb3edc47aca7342b25cc06ecb7406cbbfc7ed0
2022-03-16Merge changes If361dc5d,If1c86588 into tm-devAka (Chih-Yu) Huang
* changes: uwb_core: create the UWB core library Split uwb_uci_packets to separated crate
2022-03-16Merge "Remove the log file after 24 hours." into tm-devBob Wang
2022-03-16uwb_core: create the UWB core libraryChih-Yu Huang
This CL creates an empty Rust crate "uwb_core", and setups the Android build config for it. Now we can build the crate by either "cargo build" or "mmm external/uwb". Bug: 224686845 Test: mmm external/uwb -j32 Test: Run "cargo test" at external/uwb/rust/uwb_core Test: atest libuwb_core_tests --host Change-Id: If361dc5d5dece630a065ad0794a60de82ae49401
2022-03-16Split uwb_uci_packets to separated crateChih-Yu Huang
This CL follows the Android's best practice [1] to create a separated crate for the generated rust code, and supports Cargo build system for the crate. [1]: https://source.android.com/setup/build/rust/building-rust-modules/source-code-generators/source-code-gen-intro Bug: 224686845 Test: mmm external/uwb -j32 Test: "cargo test" at external/uwb/src/rust/uwb_uci_packets/ folder Test: atest libuwb_uci_packet_tests Change-Id: If1c86588aef6736b195e6fc302d7ce11ff8d0dd8
2022-03-15Add vendor UCI statuses for CCCMathieu Mandret
Bug: 222291913 Test: Compiles Signed-off-by: Mathieu Mandret <mathieu.mandret@qorvo.com> Change-Id: Id81d57685ca4fbd39fc0c577a3cf2db7bfa82a04
2022-03-11Merge "Add Dispatcher trait" into tm-devAka (Chih-Yu) Huang
2022-03-10Remove the log file after 24 hours.ziyiw
Test: manual Bug: 216512326 Change-Id: I85ccc4d25ada3870299811cee6b2e76a9b3ffc9f
2022-03-04Move open_next_file into BufferedFile to avoid deadlock.Roshan Pius
Test: manual Bug: 216512326 Bug: 222342112 Change-Id: Ic7f0a87f6433d5d1dc1e262e6c94d405cceec2d3
2022-03-04Add Dispatcher traitChih-Yu Huang
Bug: 216552887 Test: libuwb_uci_rust_tests Change-Id: Ia6739f470fe6239b0ffdae65b78067a6ccfe608f
2022-03-02uwb(uci-rust): Disable UCI loggerRoshan Pius
The logger seems to be causing session stop failures. Disable for now. Bug: 222342112 Bug: 221463266 Test: Manual verification of session stop Change-Id: I5b4ac2b99b2cc75401752aa15a6be782b0bb3d64
2022-03-01Change the wrapper of UwbAdaptation to Arc.ziyiw
Test: UwbManagerTest Bug: 216512326 Change-Id: Ieba46c57e33c2729a7cc8349fb4508b8d7240b29
2022-02-26Merge "uwb(uci-rust): Uci Logging" into tm-devTreeHugger Robot
2022-02-25uwb(uci-rust): Uci Loggingziyiw
Add Uci packet logging, the function that the log will be automatically deleted after 24 hrs is to be added. Bug: 216512326 Test: Manual Change-Id: I99b944cad1d9389517a4b2c4b4f359325b47b975
2022-02-25Increase retry timeout to 800 msTaha HADMI
Bug: 221164955 Test: Manual steps Signed-off-by: Taha HADMI <taha.hamdi@qorvo.com> Change-Id: I2ee391b0fcff28295215f732aebc1e842b77deaa
2022-02-23uwb(uci-rust): Add rust unit tests to UWB MTSRoshan Pius
Bug: 216552887 Test: m mts && mts-tradefed run mts-uwb Change-Id: I31c2c50f97f77b2cadc0af292aafb5712edcfc7b
2022-02-20uwb(uci): Remove c++ stack from uwb moduleRoshan Pius
No longer used or maintained. Bug: 197341298 Test: Manual tests Change-Id: I0203a9c6a8623c6824f8d01c9df453500c2f4b21
2022-02-18Change Disable command to be a blocking one.ziyiw
Test: UwbManagerTest Bug: 216512326 Change-Id: Idfb1e693e604c109188e18949054985841c935f9
2022-02-16uwb(uci-rust): Switch Android GID temporarilyRoshan Pius
Until qorvo's firmware also switches to the new GID. Bug: 218883784 Test: Manual Change-Id: I5ad363087c0d8260b5cb88561e86d5373b1019ca
2022-02-14Update power stats structure and add JNI commandKai Shi
Update power stats response data structure based on the vendor feedback. Add power stats JNI commands. Bug: 199768480 Test: atest libuwb_uci_packet_tests Change-Id: I1a99ffe895a56072bea074a6f7f5ebb2fdf357ae
2022-02-11uwb(uci-rust): Fix Vendor Rsp/Ntf UCI packet heirarchyRoshan Pius
This ensures that we always have a fully parsed packet as the payload for the rsp/notification enums. Bug: b/202760099 Test: Unit tests Change-Id: Ifd5148707ecefef7c3c683a586700f9938d21b40
2022-02-11uwb(uci-pdl): Fix UCI packet heirarchy (use scalars for opcode)Roshan Pius
This uses the raw values for the opcodes to workaround the limitation of being unable to set enum values in scalar fields. This helps fix some of the redundancies in the Vendor Cmd/Rsp/Ntf packets. Also, reordered the packets around to ensure they are in the correct order (according to opcode). Bug: b/202760099 Test: Unit tests Change-Id: Ib8f32a229528c80b8b7c39f4b866b4a9605a5e2e
2022-02-11uwb(uci-rust): Switch ANDROID GID to 0xCRoshan Pius
Based on vendor feedback since 0xE is already being used for a bunch of vendor specific stuff. Bug: 210933436 Bug: 218883784 Test: Compiles Change-Id: I522e9fedbc266ff38adbccc4b48c4785b49593cb