From cc5562c1b568aa3b5d51887b7185a8ec55215aaa Mon Sep 17 00:00:00 2001 From: Nav Date: Sun, 17 Aug 2025 23:08:19 +0100 Subject: [PATCH] - Removed outdated comments in Microchip device header files - Other bits of tidying --- .../Microchip/AtmelIce/AtmelIce.hpp | 17 ++++------- .../Microchip/CuriosityNano/CuriosityNano.hpp | 15 +++------- .../Microchip/JtagIce3/JtagIce3.hpp | 17 ++++------- .../Microchip/MplabPickit4/MplabPickit4.hpp | 26 +++++------------ .../Microchip/MplabSnap/MplabSnap.hpp | 28 +++++-------------- .../Microchip/PowerDebugger/PowerDebugger.hpp | 17 ++++------- .../Microchip/XplainedMini/XplainedMini.hpp | 15 +++------- .../Microchip/XplainedNano/XplainedNano.hpp | 15 +++------- .../Microchip/XplainedPro/XplainedPro.hpp | 15 +++------- .../HexViewerWidget/HexViewerItemIndex.cpp | 6 ++-- .../HexViewerWidget/HexViewerItemIndex.hpp | 16 +++++------ .../RiscV/Wch/CH32V003.xml | 2 +- .../RiscV/Wch/CH32X035.xml | 2 +- 13 files changed, 58 insertions(+), 133 deletions(-) diff --git a/src/DebugToolDrivers/Microchip/AtmelIce/AtmelIce.hpp b/src/DebugToolDrivers/Microchip/AtmelIce/AtmelIce.hpp index a5837a05..c698911b 100644 --- a/src/DebugToolDrivers/Microchip/AtmelIce/AtmelIce.hpp +++ b/src/DebugToolDrivers/Microchip/AtmelIce/AtmelIce.hpp @@ -7,22 +7,15 @@ namespace DebugToolDrivers::Microchip { - /** - * The Atmel-ICE device is an EDBG (Embedded Debugger) device. - * - * USB: - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2141 (8513) - */ class AtmelIce: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2141; - static const inline std::uint8_t USB_CONFIGURATION_INDEX = 0; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2141; + static constexpr std::uint8_t USB_CONFIGURATION_INDEX = 0; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - AtmelIce(const DebugToolConfig& debugToolConfig); + explicit AtmelIce(const DebugToolConfig& debugToolConfig); std::string getName() override { return "Atmel-ICE"; diff --git a/src/DebugToolDrivers/Microchip/CuriosityNano/CuriosityNano.hpp b/src/DebugToolDrivers/Microchip/CuriosityNano/CuriosityNano.hpp index 31fa9c5c..d8f1292b 100644 --- a/src/DebugToolDrivers/Microchip/CuriosityNano/CuriosityNano.hpp +++ b/src/DebugToolDrivers/Microchip/CuriosityNano/CuriosityNano.hpp @@ -7,21 +7,14 @@ namespace DebugToolDrivers::Microchip { - /** - * The Curiosity Nano is an evaluation board featuring an on-board debugger. The debugger is EDBG-based. - * - * USB: - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2175 (8565) - */ class CuriosityNano: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2175; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2175; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - CuriosityNano(const DebugToolConfig& debugToolConfig); + explicit CuriosityNano(const DebugToolConfig& debugToolConfig); std::string getName() override { return "Curiosity Nano"; diff --git a/src/DebugToolDrivers/Microchip/JtagIce3/JtagIce3.hpp b/src/DebugToolDrivers/Microchip/JtagIce3/JtagIce3.hpp index 1cb4cf9c..41298b3c 100644 --- a/src/DebugToolDrivers/Microchip/JtagIce3/JtagIce3.hpp +++ b/src/DebugToolDrivers/Microchip/JtagIce3/JtagIce3.hpp @@ -7,22 +7,15 @@ namespace DebugToolDrivers::Microchip { - /** - * The JTAGICE3, from firmware version 3.x+, is an EDBG device. - * - * USB: - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2140 (8512) - */ class JtagIce3: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2140; - static const inline std::uint8_t USB_CONFIGURATION_INDEX = 0; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2140; + static constexpr std::uint8_t USB_CONFIGURATION_INDEX = 0; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - JtagIce3(const DebugToolConfig& debugToolConfig); + explicit JtagIce3(const DebugToolConfig& debugToolConfig); std::string getName() override { return "JTAGICE3"; diff --git a/src/DebugToolDrivers/Microchip/MplabPickit4/MplabPickit4.hpp b/src/DebugToolDrivers/Microchip/MplabPickit4/MplabPickit4.hpp index 17764532..e27da0c9 100644 --- a/src/DebugToolDrivers/Microchip/MplabPickit4/MplabPickit4.hpp +++ b/src/DebugToolDrivers/Microchip/MplabPickit4/MplabPickit4.hpp @@ -7,30 +7,18 @@ namespace DebugToolDrivers::Microchip { - /** - * Like the MPLAB Snap, the PICkit 4 is a hybrid device. It can present itself as an EDBG (Embedded Debugger) - * device via firmware configuration, actioned by Microchip software (the MPLAB IDE and IPE). - * - * This debug tool driver currently only supports the device when in AVR mode. Because the device uses different - * USB vendor and product IDs depending on the mode, it is trivial to determine which is which. In fact, Bloom will - * not even recognise the device if it's not in AVR mode. - * - * USB (when in Avr/EDBG mode): - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2177 (8567) - */ class MplabPickit4: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2177; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2177; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - static const inline std::uint16_t PIC_MODE_USB_VENDOR_ID = 0x04d8; - static const inline std::uint16_t PIC_MODE_USB_PRODUCT_ID = 0x9012; - static const inline std::uint16_t BL_MODE_USB_PRODUCT_ID = 0x9017; + static constexpr std::uint16_t PIC_MODE_USB_VENDOR_ID = 0x04d8; + static constexpr std::uint16_t PIC_MODE_USB_PRODUCT_ID = 0x9012; + static constexpr std::uint16_t BL_MODE_USB_PRODUCT_ID = 0x9017; - MplabPickit4(const DebugToolConfig& debugToolConfig); + explicit MplabPickit4(const DebugToolConfig& debugToolConfig); std::string getName() override { return "MPLAB PICkit 4"; diff --git a/src/DebugToolDrivers/Microchip/MplabSnap/MplabSnap.hpp b/src/DebugToolDrivers/Microchip/MplabSnap/MplabSnap.hpp index 26f90bb8..066f506e 100644 --- a/src/DebugToolDrivers/Microchip/MplabSnap/MplabSnap.hpp +++ b/src/DebugToolDrivers/Microchip/MplabSnap/MplabSnap.hpp @@ -7,32 +7,18 @@ namespace DebugToolDrivers::Microchip { - /** - * The MPLAB Snap device is a hybrid device - that is, it can present itself as an "MPLAB Snap ICD" device, as well - * as an EDBG (Embedded Debugger) device. The device switches between these two modes via firmware configuration. - * It appears that it can only interface with AVR targets using the EDBG firmware, which, apparently, is why it is - * known to be in "AVR mode" when it presents itself as an EDBG device. - * - * This debug tool driver currently only supports the device when in AVR mode. Because the device uses different - * USB vendor and product IDs depending on the mode, it is trivial to determine which is which. In fact, Bloom will - * not even recognise the device if it's not in AVR mode. - * - * USB (when in Avr/EDBG mode): - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2180 (8576) - */ class MplabSnap: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2180; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2180; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - static const inline std::uint16_t PIC_MODE_USB_VENDOR_ID = 0x04d8; - static const inline std::uint16_t PIC_MODE_USB_PRODUCT_ID = 0x9018; - static const inline std::uint16_t BL_MODE_USB_PRODUCT_ID = 0x9019; + static constexpr std::uint16_t PIC_MODE_USB_VENDOR_ID = 0x04d8; + static constexpr std::uint16_t PIC_MODE_USB_PRODUCT_ID = 0x9018; + static constexpr std::uint16_t BL_MODE_USB_PRODUCT_ID = 0x9019; - MplabSnap(const DebugToolConfig& debugToolConfig); + explicit MplabSnap(const DebugToolConfig& debugToolConfig); std::string getName() override { return "MPLAB Snap"; diff --git a/src/DebugToolDrivers/Microchip/PowerDebugger/PowerDebugger.hpp b/src/DebugToolDrivers/Microchip/PowerDebugger/PowerDebugger.hpp index 6ef03ea8..2c3f2494 100644 --- a/src/DebugToolDrivers/Microchip/PowerDebugger/PowerDebugger.hpp +++ b/src/DebugToolDrivers/Microchip/PowerDebugger/PowerDebugger.hpp @@ -7,22 +7,15 @@ namespace DebugToolDrivers::Microchip { - /** - * The Power Debugger device is very similar to the Atmel-ICE. It is an EDBG device. - * - * USB: - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2141 (8513) - */ class PowerDebugger: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2144; - static const inline std::uint8_t USB_CONFIGURATION_INDEX = 0; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2144; + static constexpr std::uint8_t USB_CONFIGURATION_INDEX = 0; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - PowerDebugger(const DebugToolConfig& debugToolConfig); + explicit PowerDebugger(const DebugToolConfig& debugToolConfig); std::string getName() override { return "Power Debugger"; diff --git a/src/DebugToolDrivers/Microchip/XplainedMini/XplainedMini.hpp b/src/DebugToolDrivers/Microchip/XplainedMini/XplainedMini.hpp index d0ace1d5..9f505d57 100644 --- a/src/DebugToolDrivers/Microchip/XplainedMini/XplainedMini.hpp +++ b/src/DebugToolDrivers/Microchip/XplainedMini/XplainedMini.hpp @@ -7,21 +7,14 @@ namespace DebugToolDrivers::Microchip { - /** - * The Xplained Mini is an evaluation board featuring an on-board debugger. The debugger is EDBG-based. - * - * USB: - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2145 (8517) - */ class XplainedMini: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2145; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2145; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - XplainedMini(const DebugToolConfig& debugToolConfig); + explicit XplainedMini(const DebugToolConfig& debugToolConfig); std::string getName() override { return "Xplained Mini"; diff --git a/src/DebugToolDrivers/Microchip/XplainedNano/XplainedNano.hpp b/src/DebugToolDrivers/Microchip/XplainedNano/XplainedNano.hpp index 4acfdf64..3381717a 100644 --- a/src/DebugToolDrivers/Microchip/XplainedNano/XplainedNano.hpp +++ b/src/DebugToolDrivers/Microchip/XplainedNano/XplainedNano.hpp @@ -7,21 +7,14 @@ namespace DebugToolDrivers::Microchip { - /** - * The Xplained Nano is an evaluation board featuring an on-board debugger. The debugger is EDBG-based. - * - * USB: - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2145 (8517) - */ class XplainedNano: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2145; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2145; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - XplainedNano(const DebugToolConfig& debugToolConfig); + explicit XplainedNano(const DebugToolConfig& debugToolConfig); std::string getName() override { return "Xplained Nano"; diff --git a/src/DebugToolDrivers/Microchip/XplainedPro/XplainedPro.hpp b/src/DebugToolDrivers/Microchip/XplainedPro/XplainedPro.hpp index 75cd6785..d17aea3c 100644 --- a/src/DebugToolDrivers/Microchip/XplainedPro/XplainedPro.hpp +++ b/src/DebugToolDrivers/Microchip/XplainedPro/XplainedPro.hpp @@ -7,21 +7,14 @@ namespace DebugToolDrivers::Microchip { - /** - * The Xplained Pro is an evaluation board featuring an on-board debugger. The debugger is EDBG-based. - * - * USB: - * Vendor ID: 0x03eb (1003) - * Product ID: 0x2111 (8465) - */ class XplainedPro: public EdbgDevice { public: - static const inline std::uint16_t USB_VENDOR_ID = 0x03eb; - static const inline std::uint16_t USB_PRODUCT_ID = 0x2111; - static const inline std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; + static constexpr std::uint16_t USB_VENDOR_ID = 0x03eb; + static constexpr std::uint16_t USB_PRODUCT_ID = 0x2111; + static constexpr std::uint8_t CMSIS_HID_INTERFACE_NUMBER = 0; - XplainedPro(const DebugToolConfig& debugToolConfig); + explicit XplainedPro(const DebugToolConfig& debugToolConfig); std::string getName() override { return "Xplained Pro"; diff --git a/src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/HexViewerWidget/HexViewerItemIndex.cpp b/src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/HexViewerWidget/HexViewerItemIndex.cpp index 75d56ea0..3f15d151 100644 --- a/src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/HexViewerWidget/HexViewerItemIndex.cpp +++ b/src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/HexViewerWidget/HexViewerItemIndex.cpp @@ -15,7 +15,7 @@ namespace Widgets this->refreshFlattenedItems(); } - HexViewerItemIndex::ItemRangeType HexViewerItemIndex::items(int yStart, int yEnd) const { + HexViewerItemIndex::ItemRange HexViewerItemIndex::items(int yStart, int yEnd) const { assert(!this->byteItemGrid.empty()); const auto gridPointCount = this->byteItemGrid.size(); @@ -32,7 +32,7 @@ namespace Widgets ); if (startGridPointIndex >= gridPointCount) { - return HexViewerItemIndex::ItemRangeType{}; + return HexViewerItemIndex::ItemRange{}; } const auto endGridPointIndex = static_castbyteItemGrid)::size_type>(std::min( @@ -44,7 +44,7 @@ namespace Widgets gridPointCount - 1 )); - return HexViewerItemIndex::ItemRangeType{ + return HexViewerItemIndex::ItemRange{ this->byteItemGrid[startGridPointIndex], endGridPointIndex == gridPointCount - 1 ? this->flattenedItems.end() diff --git a/src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/HexViewerWidget/HexViewerItemIndex.hpp b/src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/HexViewerWidget/HexViewerItemIndex.hpp index ade5f49e..a50f60da 100644 --- a/src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/HexViewerWidget/HexViewerItemIndex.hpp +++ b/src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/HexViewerWidget/HexViewerItemIndex.hpp @@ -13,15 +13,15 @@ namespace Widgets { /** - * This class maintains indices of hex viewer item positions and provides fast lookups for items within certain + * This class maintains an index of hex viewer item positions and provides fast lookups for items within certain * positions. */ class HexViewerItemIndex { public: - using FlattenedItemType = std::vector; - using FlattenedItemItType = FlattenedItemType::const_iterator; - using ItemRangeType = std::ranges::subrange; + using FlattenedItems = std::vector; + using FlattenedItemIt = FlattenedItems::const_iterator; + using ItemRange = std::ranges::subrange; std::vector byteItemLines; std::unordered_map byteItemYStartPositionsByAddress; @@ -48,7 +48,7 @@ namespace Widgets * * @return */ - ItemRangeType items(int yStart, int yEnd) const; + ItemRange items(int yStart, int yEnd) const; /** * Returns the byte item at the given position. Byte items do not overlap. @@ -107,13 +107,13 @@ namespace Widgets * * Some of the lookup member functions return subranges from this container. */ - FlattenedItemType flattenedItems; + FlattenedItems flattenedItems; /** * Byte item Y-axis grid (one-dimensional index) * * Each element in this std::vector represents a point on the Y-axis grid. The distance between each point is - * equal to HexViewerItemIndex::GRID_SIZE. + * equal to HexViewerItemIndex::GRID_SIZE (pixels). * * The value of each element is an iterator addressing the HexViewerItem* at that point on the grid. * @@ -122,6 +122,6 @@ namespace Widgets * * We use an std::vector here because it provides constant-time access to any element. */ - std::vector byteItemGrid; + std::vector byteItemGrid; }; } diff --git a/src/Targets/TargetDescriptionFiles/RiscV/Wch/CH32V003.xml b/src/Targets/TargetDescriptionFiles/RiscV/Wch/CH32V003.xml index b8f91b03..1d5134fa 100644 --- a/src/Targets/TargetDescriptionFiles/RiscV/Wch/CH32V003.xml +++ b/src/Targets/TargetDescriptionFiles/RiscV/Wch/CH32V003.xml @@ -12,7 +12,7 @@ - + diff --git a/src/Targets/TargetDescriptionFiles/RiscV/Wch/CH32X035.xml b/src/Targets/TargetDescriptionFiles/RiscV/Wch/CH32X035.xml index 5deab84c..8bb11676 100644 --- a/src/Targets/TargetDescriptionFiles/RiscV/Wch/CH32X035.xml +++ b/src/Targets/TargetDescriptionFiles/RiscV/Wch/CH32X035.xml @@ -12,7 +12,7 @@ - +