2021-11-22 23:05:46 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <cstdint>
|
2022-10-02 15:29:17 +01:00
|
|
|
#include <string>
|
2021-11-22 23:05:46 +00:00
|
|
|
|
2022-10-02 15:29:17 +01:00
|
|
|
#include "src/DebugToolDrivers/Microchip/EdbgDevice.hpp"
|
2021-11-22 23:05:46 +00:00
|
|
|
|
2023-11-18 23:50:08 +00:00
|
|
|
namespace DebugToolDrivers::Microchip
|
2021-11-22 23:05:46 +00:00
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* The Xplained Pro is an evaluation board featuring an on-board debugger. The debugger is EDBG-based.
|
|
|
|
|
*
|
2022-10-02 15:29:17 +01:00
|
|
|
* USB:
|
2021-11-22 23:05:46 +00:00
|
|
|
* Vendor ID: 0x03eb (1003)
|
|
|
|
|
* Product ID: 0x2111 (8465)
|
|
|
|
|
*/
|
2022-10-02 15:29:17 +01:00
|
|
|
class XplainedPro: public EdbgDevice
|
2021-11-22 23:05:46 +00:00
|
|
|
{
|
|
|
|
|
public:
|
2022-10-02 15:29:17 +01:00
|
|
|
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;
|
2021-11-22 23:05:46 +00:00
|
|
|
|
Made the EDBG CMSIS-DAP command delay optional for all debug tools, and disabled it by default.
The command delay was really choking Bloom's EDBG driver, causing a very noticeable drag on Bloom's performance. It's much faster with the command delay disabled.
There was a good reason for why I introduced this some time ago. Without it, some EDBG debug tools were misbehaving - I remember that for certain. But now, I cannot seem to reproduce these issues. Very odd.
If the issues do reappear, I may have to enable the command delay by default, again, for some debug tools.
For now, if any users experience issues, I'll just suggest they manually enable the command delay via their project config.
Also, I'm not going to document this new config option, as I would prefer the user to approach me if they experience issues as a result of this, so that I'll know if it needs revisiting.
2024-10-27 00:25:42 +01:00
|
|
|
XplainedPro(const DebugToolConfig& debugToolConfig);
|
2021-11-22 23:05:46 +00:00
|
|
|
|
|
|
|
|
std::string getName() override {
|
|
|
|
|
return "Xplained Pro";
|
2022-10-01 16:50:57 +01:00
|
|
|
}
|
2022-12-11 13:20:41 +00:00
|
|
|
|
2023-05-21 21:08:25 +01:00
|
|
|
protected:
|
|
|
|
|
void configureAvr8Interface() override;
|
2021-11-22 23:05:46 +00:00
|
|
|
};
|
|
|
|
|
}
|