@@ -676,13 +676,13 @@ bool I3CBus::isI3CDeviceReady(uint8_t dynAddr, uint32_t trials, uint32_t timeout
676676// Low-level CCC helpers
677677// ============================================================================
678678
679- int I3CBus::cccBroadcastWrite (uint8_t cccId,
679+ bool I3CBus::cccBroadcastWrite (uint8_t cccId,
680680 const uint8_t *data,
681681 uint16_t length,
682682 bool withDefByte,
683683 uint32_t timeout)
684684{
685- int result = - 1 ;
685+ bool result = false ;
686686
687687 if (_initialized) {
688688 uint32_t controlBuffer[0xFF ];
@@ -712,11 +712,11 @@ int I3CBus::cccBroadcastWrite(uint8_t cccId,
712712 if (st == HAL_OK ) {
713713 st = HAL_I3C_Ctrl_TransmitCCC (&_hi3c, &context, timeout);
714714 if (st == HAL_OK ) {
715- result = 0 ;
715+ result = true ;
716716 } else {
717717 uint32_t err = HAL_I3C_GetError (&_hi3c);
718718 if ((err & HAL_I3C_ERROR_CE2 ) != 0U ) {
719- result = 0 ;
719+ result = true ;
720720 }
721721 }
722722 }
@@ -725,14 +725,14 @@ int I3CBus::cccBroadcastWrite(uint8_t cccId,
725725 return result;
726726}
727727
728- int I3CBus::cccDirectWrite (uint8_t targetAddr,
728+ bool I3CBus::cccDirectWrite (uint8_t targetAddr,
729729 uint8_t cccId,
730730 const uint8_t *data,
731731 uint16_t length,
732732 bool withDefByte,
733733 uint32_t timeout)
734734{
735- int result = - 1 ;
735+ bool result = false ;
736736
737737 if (_initialized) {
738738 uint32_t controlBuffer[0xFF ];
@@ -767,21 +767,21 @@ int I3CBus::cccDirectWrite(uint8_t targetAddr,
767767 if (st == HAL_OK ) {
768768 st = HAL_I3C_Ctrl_TransmitCCC (&_hi3c, &context, timeout);
769769 if (st == HAL_OK ) {
770- result = 0 ;
770+ result = true ;
771771 }
772772 }
773773 }
774774
775775 return result;
776776}
777777
778- int I3CBus::cccDirectRead (uint8_t targetAddr,
778+ bool I3CBus::cccDirectRead (uint8_t targetAddr,
779779 uint8_t cccId,
780780 uint8_t *rxData,
781781 uint16_t rxLength,
782782 uint32_t timeout)
783783{
784- int result = - 1 ;
784+ bool result = false ;
785785
786786 if (_initialized && (rxData != nullptr ) && (rxLength != 0U )) {
787787 uint32_t controlBuffer[0xFF ];
@@ -812,7 +812,7 @@ int I3CBus::cccDirectRead(uint8_t targetAddr,
812812 if (st == HAL_OK ) {
813813 st = HAL_I3C_Ctrl_ReceiveCCC (&_hi3c, &context, timeout);
814814 if (st == HAL_OK ) {
815- result = 0 ;
815+ result = true ;
816816 }
817817 }
818818 }
@@ -824,45 +824,38 @@ int I3CBus::cccDirectRead(uint8_t targetAddr,
824824// CCC direct-read helpers
825825// ============================================================================
826826
827- int I3CBus::getbcr (uint8_t dynAddr, uint8_t &bcr, uint32_t timeout)
827+ bool I3CBus::getbcr (uint8_t dynAddr, uint8_t &bcr, uint32_t timeout)
828828{
829- int result = 0 ;
829+ bool result = false ;
830830 uint8_t rxData[1 ] = {0 };
831831
832- int rc = cccDirectRead (dynAddr, I3C_CCC_GETBCR_DIR , rxData, 1U , timeout);
833- if (rc != 0 ) {
834- result = rc;
835- } else {
832+ result = cccDirectRead (dynAddr, I3C_CCC_GETBCR_DIR , rxData, 1U , timeout);
833+ if (result) {
836834 bcr = rxData[0 ];
837835 }
838-
839836 return result;
840837}
841838
842- int I3CBus::getdcr (uint8_t dynAddr, uint8_t &dcr, uint32_t timeout)
839+ bool I3CBus::getdcr (uint8_t dynAddr, uint8_t &dcr, uint32_t timeout)
843840{
844- int result = 0 ;
841+ bool result = false ;
845842 uint8_t rxData[1 ] = {0 };
846843
847- int rc = cccDirectRead (dynAddr, I3C_CCC_GETDCR_DIR , rxData, 1U , timeout);
848- if (rc != 0 ) {
849- result = rc;
850- } else {
844+ result = cccDirectRead (dynAddr, I3C_CCC_GETDCR_DIR , rxData, 1U , timeout);
845+ if (result) {
851846 dcr = rxData[0 ];
852847 }
853848
854849 return result;
855850}
856851
857- int I3CBus::getpid (uint8_t dynAddr, uint64_t &pid, uint32_t timeout)
852+ bool I3CBus::getpid (uint8_t dynAddr, uint64_t &pid, uint32_t timeout)
858853{
859- int result = 0 ;
854+ bool result = false ;
860855 uint8_t rxData[6 ] = {0 };
861856
862- int rc = cccDirectRead (dynAddr, I3C_CCC_GETPID_DIR , rxData, 6U , timeout);
863- if (rc != 0 ) {
864- result = rc;
865- } else {
857+ result = cccDirectRead (dynAddr, I3C_CCC_GETPID_DIR , rxData, 6U , timeout);
858+ if (result) {
866859 pid = 0ULL ;
867860 pid |= (uint64_t )rxData[0 ] << 40 ;
868861 pid |= (uint64_t )rxData[1 ] << 32 ;
@@ -879,24 +872,24 @@ int I3CBus::getpid(uint8_t dynAddr, uint64_t &pid, uint32_t timeout)
879872// 9. High-level CCC commands
880873// ============================================================================
881874
882- int I3CBus::resetDynamicAddresses ()
875+ bool I3CBus::resetDynamicAddresses ()
883876{
884877 return cccBroadcastWrite (I3C_CCC_RSTDAA_BCAST , nullptr , 0U , false , 1000U );
885878}
886879
887- int I3CBus::disableEvents (const uint8_t *pCCCData, uint16_t length)
880+ bool I3CBus::disableEvents (const uint8_t *pCCCData, uint16_t length)
888881{
889882 return cccBroadcastWrite (I3C_CCC_DISEC_BCAST , pCCCData, length, length > 0U , 1000U );
890883}
891884
892- int I3CBus::assignAllStaticAsDynamic ()
885+ bool I3CBus::assignAllStaticAsDynamic ()
893886{
894887 return cccBroadcastWrite (I3C_CCC_SETAASA_BCAST , nullptr , 0U , false , 1000U );
895888}
896889
897- int I3CBus::assignDynamicAddress (uint8_t staticAddr7, uint8_t dynAddr7)
890+ bool I3CBus::assignDynamicAddress (uint8_t staticAddr7, uint8_t dynAddr7)
898891{
899- int result = - 1 ;
892+ bool result = false ;
900893
901894 if (_initialized) {
902895 uint8_t daByte = static_cast <uint8_t >((dynAddr7 & 0x7FU ) << 1 );
@@ -906,15 +899,15 @@ int I3CBus::assignDynamicAddress(uint8_t staticAddr7, uint8_t dynAddr7)
906899 return result;
907900}
908901
909- int I3CBus::disecAll ()
902+ bool I3CBus::disecAll ()
910903{
911904 const uint8_t evAll = I3C_CCC_EVT_ALL ;
912905 return disableEvents (&evAll, 1U );
913906}
914907
915- int I3CBus::rstactWholeTarget ()
908+ bool I3CBus::rstactWholeTarget ()
916909{
917- int result = - 1 ;
910+ bool result = false ;
918911
919912 if (_initialized) {
920913 uint8_t defByte = I3C_CCC_RSTACT_RESET_WHOLE_TARGET ;
@@ -928,9 +921,9 @@ int I3CBus::rstactWholeTarget()
928921 return result;
929922}
930923
931- int I3CBus::rstactPeripheralOnly ()
924+ bool I3CBus::rstactPeripheralOnly ()
932925{
933- int result = - 1 ;
926+ bool result = false ;
934927
935928 if (_initialized) {
936929 uint8_t defByte = I3C_CCC_RSTACT_PERIPHERAL_ONLY ;
@@ -944,12 +937,12 @@ int I3CBus::rstactPeripheralOnly()
944937 return result;
945938}
946939
947- int I3CBus::setEvents (uint8_t dynAddr,
940+ bool I3CBus::setEvents (uint8_t dynAddr,
948941 bool enable,
949942 uint8_t events,
950943 uint32_t timeout)
951944{
952- int result = - 1 ;
945+ bool result = false ;
953946
954947 if (_initialized && (_hi3c.Mode == HAL_I3C_MODE_CONTROLLER )) {
955948 uint8_t ev = events;
@@ -960,7 +953,7 @@ int I3CBus::setEvents(uint8_t dynAddr,
960953 return result;
961954}
962955
963- int I3CBus::enecHotJoin ()
956+ bool I3CBus::enecHotJoin ()
964957{
965958 uint8_t evHj = I3C_CCC_EVT_HJ ;
966959 return cccBroadcastWrite (I3C_CCC_ENEC_BCAST , &evHj, 1U , true , 1000U );
@@ -1136,7 +1129,7 @@ int I3CBus::assignKnownDevices(const I3CKnownDevice *knownDevices,
11361129 continue ;
11371130 }
11381131
1139- if (assignDynamicAddress (kd.staticAddr , dyn) == 0 ) {
1132+ if (assignDynamicAddress (kd.staticAddr , dyn)) {
11401133 markAddrUsed (dyn);
11411134
11421135 if (count < maxDiscovered) {
@@ -1153,15 +1146,15 @@ int I3CBus::assignKnownDevices(const I3CKnownDevice *knownDevices,
11531146 uint8_t dcr = 0U ;
11541147 uint64_t pid = 0ULL ;
11551148
1156- if (getbcr (dyn, bcr) == 0 ) {
1149+ if (getbcr (dyn, bcr)) {
11571150 d.bcr = bcr;
11581151 }
11591152
1160- if (getdcr (dyn, dcr) == 0 ) {
1153+ if (getdcr (dyn, dcr)) {
11611154 d.dcr = dcr;
11621155 }
11631156
1164- if ((d.pid == 0U ) && (getpid (dyn, pid) == 0 )) {
1157+ if ((d.pid == 0U ) && (getpid (dyn, pid))) {
11651158 d.pid = pid;
11661159 }
11671160 }
@@ -1308,7 +1301,7 @@ int I3CBus::discover(const I3CBusBeginConfig &cfg,
13081301 initAddressMap ();
13091302
13101303 if (cfg.doRstact ) {
1311- if (rstactWholeTarget () != 0 ) {
1304+ if (! rstactWholeTarget ()) {
13121305 (void )rstactPeripheralOnly ();
13131306 }
13141307 }
0 commit comments