### Get RAM Initialization Status (MemCfg_getInitStatus) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html This function retrieves the initialization status for the specified RAM sections. It returns true if all specified sections are initialized, otherwise false. Initialization is started by MemCfg_initSections(). ```APIDOC bool MemCfg_getInitStatus(uint32_t _ramSections_) Description: Get the status of initialized RAM sections. Parameters: ramSections: Logical OR of the sections to be checked. Possible values: MEMCFG_SECT_M0, MEMCFG_SECT_M1, MEMCFG_SECT_D0, MEMCFG_SECT_D1, MEMCFG_SECT_DX_ALL, MEMCFG_SECT_LS0 through MEMCFG_SECT_LSx, MEMCFG_SECT_LSX_ALL, MEMCFG_SECT_GS0 through MEMCFG_SECT_GSx, MEMCFG_SECT_GSX_ALL, MEMCFG_SECT_MSGCPUTOCPU, MEMCFG_SECT_MSGCPUTOCLA1, MEMCFG_SECT_MSGCLA1TOCPU, MEMCFG_SECT_ALL Return: true: If all sections specified by ramSections have been initialized. false: If not all sections have been initialized. ``` -------------------------------- ### Starting CPU Timer - CPUTimer - C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/cputimer.html This function starts (restarts) the CPU timer and reloads the timer counter. It requires the base address of the timer module as the 'base' parameter. No value is returned. ```C void CPUTimer_startTimer(uint32_t _base_) ``` -------------------------------- ### Managing USB OTG Session (C/C++) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/usb.html This function is used in OTG mode to either start or end a USB session. The ui32Base parameter specifies the USB module base address. The bStart boolean parameter determines the action: true to start a session, false to end one. This function does not return any value. ```C void USBOTGSessionRequest(uint32_t _ui32Base_, bool _bStart_) ``` -------------------------------- ### Issuing I2C Start Condition in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/i2c.html This function generates an I2C START condition. It is only valid when the I2C module, specified by its `base` address, is configured as a controller. ```C void I2C_sendStartCondition(uint32_t base) ``` -------------------------------- ### Defining USB SETUP Transaction Type in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/usb.html This constant defines the value representing a USB SETUP transaction. This type of transaction is used for control transfers to configure or query the device. ```C USB_TRANS_SETUP 0x0000110AUL ``` -------------------------------- ### Defining UPP CPU Receive Message RAM Start Address in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/upp.html Defines the starting memory address for the UPP CPU receive message RAM. This macro is used when the CPU directly accesses the receive message RAM of the UPP module. ```C UPP_CPU_RX_MSGRAM_STARTADDR UPP_RX_MSG_RAM_BASE ``` -------------------------------- ### Starting DMA Channel - TMS320F28377D DMA - C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/dma.html Starts a DMA channel. This function initiates DMA operation after configuration, waiting for the first trigger event. To halt the channel, use DMA_stopChannel(). The 'base' parameter specifies the base address of the DMA channel control registers. ```C void DMA_startChannel(uint32_t _base_) ``` -------------------------------- ### Cloning the C2000Ware Examples Repository (Bash) Source: https://github.com/xywml/tms320f28377d/blob/main/README.md This Bash snippet provides the commands to clone the TMS320F28377D-C2000Ware-Examples-for-MCP repository, including its submodules, and navigate into the cloned directory. The `--recursive` flag ensures that all necessary submodules, such as the C2000Ware core SDK, are also initialized and updated. ```bash git clone --recursive https://github.com/your-org/TMS320F28377D-C2000Ware-Examples-for-MCP.git cd TMS320F28377D-C2000Ware-Examples-for-MCP ``` -------------------------------- ### Starting CAN Module Operations - C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/can.html Initiates the CAN module's operations post-initialization, activating the CAN protocol controller and message handler state machines to manage internal data flow. The `base` parameter is the CAN controller's base address. ```C void CAN_startModule(uint32_t base) ``` -------------------------------- ### Getting DMA Transfer Status Flag in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/dma.html This function checks the status of a DMA channel's Transfer Status Flag, returning true if a DMA transfer has started. The flag clears when TRANSFER_COUNT reaches zero or on a hard/soft reset. ```C bool DMA_getTransferStatusFlag(uint32_t _base_) ``` -------------------------------- ### Configuring Documentation Options - JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/search.html This snippet initializes a global JavaScript object `DOCUMENTATION_OPTIONS` which holds configuration parameters for the documentation site, such as root URL, version, file suffixes, and source link settings. These options are crucial for the site's navigation and linking logic. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', LINK_SUFFIX: '.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; ``` -------------------------------- ### Defining I2C Start Byte Mode Constant in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/i2c.html This constant enables the start byte mode for I2C communication, allowing the use of a special start byte sequence. ```C I2C_START_BYTE_MODE 0x0010U ``` -------------------------------- ### Initializing Documentation Options and Sticky Navigation (JavaScript) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/upp.html This snippet initializes global documentation options for a Sphinx-generated site and enables a sticky navigation bar using the SphinxRtdTheme. It relies on jQuery and the SphinxRtdTheme library to manage UI elements. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### Configuring Documentation Options and Initializing Sticky Navigation (JavaScript) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/dac.html This snippet defines global configuration options for the documentation system and initializes a sticky navigation feature using jQuery and SphinxRtdTheme. It sets parameters like the root URL, version, and file suffixes for documentation assets. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### MemCfg_getCorrErrorCount API Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html Gets the correctable error count. ```APIDOC uint32_t MemCfg_getCorrErrorCount(void) Description: Gets the correctable error count. Returns: uint32_t - The number of correctable errors that have occurred. ``` -------------------------------- ### Initializing Documentation Options - JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/usb.html This snippet initializes global JavaScript options for the documentation site, including the root URL, version, and file suffixes. These options are used by the Sphinx documentation theme to configure various behaviors. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; ``` -------------------------------- ### Initializing Documentation Options and Sticky Navigation (JavaScript) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/spi.html This snippet initializes global documentation options for a Sphinx-generated site and enables the sticky navigation feature provided by the Sphinx Read the Docs theme. It sets parameters like URL root, version, and file suffixes for the documentation, ensuring the navigation bar remains visible during scrolling. ```javascript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### MemCfg_getUncorrErrorStatus API Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html Gets the current uncorrectable RAM error status. ```APIDOC uint32_t MemCfg_getUncorrErrorStatus(void) Description: Gets the current uncorrectable RAM error status. Returns: uint32_t - The current error status, enumerated as a bit field of MEMCFG_UCERR_CPUREAD, MEMCFG_UCERR_DMAREAD, MEMCFG_UCERR_CLA1READ, or MEMCFG_UCERR_ECATMEMREAD. ``` -------------------------------- ### Initializing Documentation Options and Sticky Navigation in JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/cla.html This snippet initializes global documentation options used by the Sphinx theme and enables the sticky navigation feature. It sets parameters like the root URL, version, and file suffixes, then activates the sticky navigation behavior provided by SphinxRtdTheme.StickyNav. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### Initializing Sphinx Documentation Options and Sticky Navigation (JavaScript) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/cmpss.html This snippet initializes global documentation options used by Sphinx and enables the sticky navigation feature provided by SphinxRtdTheme. It sets parameters like URL root, version, and file suffixes. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### MemCfg_getCorrErrorStatus API Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html Gets the current correctable RAM error status. ```APIDOC uint32_t MemCfg_getCorrErrorStatus(void) Description: Gets the current correctable RAM error status. Returns: uint32_t - The current error status, enumerated as a bit field of MEMCFG_CERR_CPUREAD, MEMCFG_CERR_DMAREAD, or MEMCFG_CERR_CLA1READ. ``` -------------------------------- ### C2000Ware Repository Directory Structure (Text) Source: https://github.com/xywml/tms320f28377d/blob/main/README.md This snippet outlines the standardized directory structure of the C2000Ware examples repository for TMS320F28377D. It details the organization of device support files, driver library source, native examples, compatibility libraries, tools, and documentation, facilitating navigation and integration with official TI documentation and IDE projects. ```text . ├── device/ # 设备支持文件(头文件、链接脚本) │ └── f2837xd/ ├── driverlib/ # 官方 Driver Library 源码 ├── examples/ # 原生例程,按外设→CPU 核划分 │ ├── cpu1/ │ └── cpu2/ ├── libraries/ # DSP、ControlSUITE 兼容库 ├── tools/ # Flash 量产、脚本、初始化表 ├── scripts/ # 本仓专用:MCP 元数据生成 & CI ├── docs/ # 数据手册、TRM、应用笔记(PDF 链接) └── README.md # 当前文件 ``` -------------------------------- ### Getting ADC PPB Sample Delay Timestamp in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/adc.html This function retrieves the sample delay timestamp from a specified ADC Post-Processing Block (PPB). The timestamp represents the number of system clock cycles elapsed between the Start-of-Conversion (SOC) trigger and the actual start of the conversion. It takes the ADC module base address and PPB number as input, returning a 16-bit unsigned delay timestamp. ```C uint16_t ADC_getPPBDelayTimeStamp(uint32_t base, ADC_PPBNumber ppbNumber) ``` -------------------------------- ### Defining Documentation Options - JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/usage.html Initializes a global JavaScript object `DOCUMENTATION_OPTIONS` containing configuration settings for documentation, such as URL root, version, and file suffixes. This object is used by the documentation theme to manage paths and display options. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; ``` -------------------------------- ### Initializing Documentation Options and Sticky Navigation in JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/flash.html This snippet initializes global documentation options for a web page, including URL root, version, and file suffixes. It then uses jQuery to enable the `SphinxRtdTheme.StickyNav` functionality, which likely controls a sticky navigation bar's behavior upon document readiness. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### MemCfg_getCorrErrorInterruptStatus API Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html Gets the current RAM correctable error interrupt status. ```APIDOC uint32_t MemCfg_getCorrErrorInterruptStatus(void) Description: Gets the current RAM correctable error interrupt status. Returns: uint32_t - The current error interrupt status. Will return a value of MEMCFG_CERR_CPUREAD if an interrupt has been generated. If not, the function will return 0. ``` -------------------------------- ### Defining USB Session Start Interrupt Mask in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/usb.html This constant represents a bitmask for the USB session start interrupt. It is used to detect when a new USB session begins, typically indicated by VBUS activity. ```C USB_INT_SESSION_START 0x40000000UL ``` -------------------------------- ### Initializing Sphinx Read the Docs Theme Navigation (JavaScript) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/asysctl.html This JavaScript code initializes and manages the sticky navigation bar behavior for documentation generated with the Sphinx Read the Docs theme. It calculates the optimal 'top' position for the navigation based on scroll events and handles mouse wheel scrolling to prevent default browser behavior, ensuring smooth navigation within the documentation. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Defining USB Start of Frame (SOF) Interrupt Mask in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/usb.html This constant represents a bitmask for the USB Start of Frame (SOF) interrupt. It is used to signal the beginning of a new USB frame, occurring every 1ms for full-speed devices. ```C USB_INT_SOF 0x08000000UL ``` -------------------------------- ### Initializing Sphinx Documentation Options and Sticky Navigation - JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/sci.html This snippet initializes global JavaScript options for Sphinx documentation, including root URL, version, and file suffixes. It also enables the sticky navigation feature provided by the Sphinx ReadTheDocs theme upon document readiness, ensuring the navigation bar remains visible during scrolling. ```javascript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### Initializing Documentation UI and Scroll Behavior (JavaScript) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/model.html This JavaScript code initializes global documentation options and sets up user interface enhancements. It enables sticky navigation using SphinxRtdTheme and implements custom scroll behavior to prevent default mousewheel smoothing, ensuring direct and immediate scrolling. This script enhances the user experience of the documentation portal. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { event.preventDefault(); var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Defining UPP CPU Transmit Message RAM Start Address in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/upp.html Defines the starting memory address for the UPP CPU transmit message RAM. This macro is used when the CPU directly accesses the transmit message RAM of the UPP module. ```C UPP_CPU_TX_MSGRAM_STARTADDR UPP_TX_MSG_RAM_BASE ``` -------------------------------- ### Mermaid Diagram for MCP Service Dependencies Source: https://github.com/xywml/tms320f28377d/blob/main/README.md This Mermaid diagram illustrates the dependency relationships between the Driver Library components (ADC, ePWM, HRPWM, CAN, GPIO), example projects (BLINKY, HRPWM_Ex, CAN_TxRx), and the Model-Centric Programming (MCP) Agent. It visually represents how MCP interacts with both the examples and the underlying driver library. ```mermaid graph LR subgraph DriverLib ADC --> ePWM ePWM --> HRPWM CAN --> GPIO end subgraph Examples BLINKY --> GPIO HRPWM_Ex --> HRPWM CAN_TxRx --> CAN end MCP[[MCP Agent]] MCP ----> Examples MCP ----> DriverLib ``` -------------------------------- ### Running Local CI Tests (Bash) Source: https://github.com/xywml/tms320f28377d/blob/main/README.md This Bash snippet specifies the command to execute the local continuous integration (CI) tests for the repository. It ensures that any contributions or changes adhere to the project's standards and pass automated checks before submission, referencing the `run_ci.sh` script located in the `scripts/` directory. ```bash ./scripts/run_ci.sh ``` -------------------------------- ### Defining UPP DMA Receive Message RAM Start Address in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/upp.html Defines the starting memory address for the UPP DMA receive message RAM. This macro specifies the base address for DMA operations related to receiving data via the UPP module. ```C UPP_DMA_RX_MSGRAM_STARTADDR 0x00007000U ``` -------------------------------- ### Get Receive FIFO Status - I2C - C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/i2c.html This function gets the current number of words in the receive FIFO. It takes 'base' (the base address of the I2C instance) as a parameter. It returns the current number of words in the receive FIFO, specified as one of I2C_FIFO_RX0 to I2C_FIFO_RX16. ```C I2C_getRxFIFOStatus(uint32_t base) ``` -------------------------------- ### Initializing and Managing Sticky Navigation in JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/intro.html This JavaScript code initializes global documentation options for a web page, enables a sticky navigation bar feature using the SphinxRtdTheme library, and dynamically adjusts the navigation bar's position based on user scroll events. It also includes a custom event handler to override the default smooth scrolling behavior of the mouse wheel, providing direct, unsmoothed scrolling. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Initializing Sphinx RTD Theme Navigation in JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/gpio.html This JavaScript snippet initializes and manages the sticky navigation bar for a Sphinx documentation site using the Read the Docs theme. It calculates the correct 'top' position for the navigation based on scroll events and handles mousewheel scrolling to prevent default smooth scrolling behavior, ensuring direct page scrolling. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Get Transmit FIFO Status - I2C - C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/i2c.html This function gets the current number of words in the transmit FIFO. It takes 'base' (the base address of the I2C instance) as a parameter. It returns the current number of words in the transmit FIFO, specified as one of I2C_FIFO_TX0 to I2C_FIFO_TX16. ```C I2C_getTxFIFOStatus(uint32_t base) ``` -------------------------------- ### Starting ECAP Time Stamp Counter in C++ Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/ecap.html This function initiates the counting operation of the ECAP module's internal time stamp counter. The `base` parameter specifies the ECAP module to be started. The counter will begin incrementing from its current value or a loaded value. ```C++ void ECAP_startCounter(uint32_t base) ``` -------------------------------- ### Initializing UI Event Handlers - jQuery/JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/usage.html Attaches event listeners to the document and window. On document ready, it calls `setNavbarTop` and sets up a scroll event to continuously adjust the navbar position. It also adds a mousewheel handler to prevent default smooth scrolling and implement direct scrolling for a more responsive feel. ```JavaScript $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function (event) { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Enabling Sticky Navigation - jQuery/JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/usage.html Executes a function when the DOM is fully loaded, enabling the sticky navigation feature provided by the `SphinxRtdTheme`. This ensures the navigation bar remains visible and accessible while the user scrolls through the content. ```JavaScript jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### Defining UPP DMA Transmit Message RAM Start Address in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/upp.html Defines the starting memory address for the UPP DMA transmit message RAM. This macro is used to specify the base address for DMA operations related to transmitting data via the UPP module. ```C UPP_DMA_TX_MSGRAM_STARTADDR UPP_TX_MSG_RAM_BASE ``` -------------------------------- ### Sphinx Documentation Navigation JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html Client-side JavaScript for managing documentation options, enabling sticky navigation, and customizing scroll behavior within a Sphinx-generated documentation theme (SphinxRtdTheme). ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Defining USB Interrupt Control Start of Frame (SOF) in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/usb.html This C macro defines `USB_INTCTRL_SOF` as `0x00000008UL`. This constant represents the bitmask for the Start of Frame (SOF) interrupt, which occurs at the beginning of each USB frame. It is used to enable or check the status of this specific interrupt, often for timing-critical operations. ```C USB_INTCTRL_SOF 0x00000008UL ``` -------------------------------- ### Redirecting Browser to TI Product Page - JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/F28379D_Product_Page.html This snippet redirects the current browser window to a specified URL. It uses `window.location.href` to change the current page, effectively navigating the user to the TMS320F28379D product page on the Texas Instruments website. This is a client-side redirect. ```JavaScript window.location.href = "http://www.ti.com/product/TMS320F28379D"; ``` -------------------------------- ### Setting Control Signal Polarity for uPP Module in C/C++ Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/upp.html This function sets the polarity for the uPP module's control signals: wait, enable, and start. The `base` parameter specifies the uPP instance address, while `waitPola`, `enablePola`, and `startPola` define the respective polarities. It returns nothing. ```C void UPP_setControlSignalPolarity(uint32_t base, UPP_SignalPolarity waitPola, UPP_SignalPolarity enablePola, UPP_SignalPolarity startPola) ``` -------------------------------- ### Getting Device Silicon Revision ID in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/sysctl.html This function retrieves the unique silicon revision ID for the device. It is applicable only for the CPU1 subsystem. ```C uint32_t SysCtl_getDeviceRevision(void) ``` -------------------------------- ### Configuring Documentation Navigation and Scrolling in JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/emif.html This JavaScript code initializes Sphinx documentation options, enables sticky navigation for the sidebar, and customizes mousewheel scrolling to provide a direct, non-smoothed scroll experience. It ensures the navigation bar remains visible while scrolling through content. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Initializing Sphinx ReadTheDocs Theme Navigation in JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/sdfm.html This JavaScript code initializes global options for Sphinx documentation, enables the StickyNav feature of the Sphinx ReadTheDocs theme, and implements custom scroll behavior. It dynamically adjusts the position of the navigation sidebar based on scroll position and overrides default mousewheel scrolling for smoother navigation. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Get Correctable Error Address (MemCfg_getCorrErrorAddress) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html This function retrieves the memory address associated with a correctable error status flag. Currently, only MEMCFG_CERR_CPUREAD is supported for stsFlag. ```APIDOC uint32_t MemCfg_getCorrErrorAddress(uint32_t _stsFlag_) Description: Get the correctable error address associated with a stsFlag. Parameters: stsFlag: Type of error to which the returned address will correspond. Possible values: MEMCFG_CERR_CPUREAD (others reserved) Return: The error address associated with the stsFlag. ``` -------------------------------- ### eQEP Position Counter Initialization Constants (C) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/eqep.html These constants specify the actions that can be configured for initializing the eQEP position counter. They determine how the counter is reset or synchronized based on specific events. ```C EQEP_INIT_DO_NOTHING 0x0000U /* Action is disabled. */ EQEP_INIT_RISING_STROBE 0x0800U /* On rising edge of strobe. */ EQEP_INIT_EDGE_DIR_STROBE 0x0C00U /* On rising edge when clockwise, on falling when counter clockwise. */ EQEP_INIT_RISING_INDEX 0x0200U /* On rising edge of index. */ EQEP_INIT_FALLING_INDEX 0x0300U /* On falling edge of index. */ ``` -------------------------------- ### Getting Efuse Error Status in C Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/sysctl.html This function provides the error status for both the Efuse Autoload and Efuse Self Test operations. It is applicable only for the CPU1 subsystem. ```C uint16_t SysCtl_getEfuseError(void) ``` -------------------------------- ### Configuring Documentation Options and Implementing Sticky Navigation in JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/dma.html This JavaScript snippet initializes global documentation options, enables the sticky navigation feature of the Sphinx ReadTheDocs Theme, and defines functions to dynamically adjust the position of the navigation sidebar based on scroll position. It also overrides default mousewheel scroll behavior to provide direct, non-smoothed scrolling. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Get Uncorrectable Error Address (MemCfg_getUncorrErrorAddress) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html This function retrieves the memory address associated with an uncorrectable error status flag. The specific stsFlag values are not detailed in the provided text. ```APIDOC uint32_t MemCfg_getUncorrErrorAddress(uint32_t _stsFlag_) Description: Get the uncorrectable error address associated with a stsFlag. Parameters: stsFlag: Type of error. Return: The error address associated with the stsFlag. ``` -------------------------------- ### Initializing Sphinx RTD Theme Navigation and Scrolling (JavaScript) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/i2c.html This JavaScript code block initializes the Sphinx Read the Docs theme's sticky navigation, dynamically adjusts the navigation bar's position based on scroll, and overrides default mousewheel scrolling behavior to provide a non-smoothed scroll experience. It sets up global documentation options and event listeners for scroll and mousewheel events. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function (event) { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Get Memory Violation Address (MemCfg_getViolationAddress) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/memcfg.html This function retrieves the memory address associated with a specific access violation flag. The intFlag parameter indicates the type of access violation. ```APIDOC uint32_t MemCfg_getViolationAddress(uint32_t _intFlag_) Description: Get the violation address associated with a intFlag. Parameters: intFlag: Type of access violation. Possible values: MEMCFG_NMVIOL_CPUREAD, MEMCFG_NMVIOL_CPUWRITE, MEMCFG_NMVIOL_CPUFETCH, MEMCFG_NMVIOL_DMAWRITE, MEMCFG_NMVIOL_CLA1READ, MEMCFG_NMVIOL_CLA1WRITE, MEMCFG_NMVIOL_CLA1FETCH, MEMCFG_MVIOL_CPUFETCH, MEMCFG_MVIOL_CPUWRITE, MEMCFG_MVIOL_DMAWRITE Return: The violation address associated with the intFlag. ``` -------------------------------- ### Loading Search Index with jQuery - JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/search.html This snippet uses jQuery to ensure that the `Search.loadIndex()` function is executed once the DOM is ready. It initiates the loading of the search index file, `searchindex.js`, which is essential for enabling the site's search functionality. ```JavaScript jQuery(function() { Search.loadIndex("searchindex.js"); }); ``` -------------------------------- ### Enabling Sticky Navigation with jQuery - JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/search.html This code uses jQuery's `ready` function to ensure that the `SphinxRtdTheme.StickyNav.enable()` method is called only after the DOM is fully loaded. This function is responsible for activating the sticky navigation bar feature, improving user experience by keeping the navigation visible while scrolling. ```JavaScript jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); ``` -------------------------------- ### Getting Asynchronous Interrupt Status for EMIF (C/C++) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/emif.html This function retrieves the current interrupt status for a given EMIF instance. It returns a 16-bit unsigned integer representing the status flags. ```C/C++ uint16_t EMIF_getAsyncInterruptStatus(uint32_t _base_) ``` -------------------------------- ### Setting Rx Control Signal Mode for uPP Module in C/C++ Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/upp.html This function configures the optional control signals for the uPP module when operating in receive (Rx) mode. It determines whether the enable and start signals are enabled or disabled. The `base` parameter is the uPP instance address, `enableMode` controls the enable signal, and `startMode` controls the start signal (UPP_SIGNAL_DISABLE or UPP_SIGNAL_ENABLE). ```C/C++ void UPP_setRxControlSignalMode(uint32_t base, UPP_SignalMode enableMode, UPP_SignalMode startMode) ``` -------------------------------- ### Initializing Sphinx RTD Theme Navigation - JavaScript Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/can.html This JavaScript snippet initializes and manages the sticky navigation bar for a Sphinx Read the Docs theme, ensuring the navigation menu remains visible and correctly positioned during scrolling. It also overrides default mousewheel behavior to provide a smoother, non-accelerated scrolling experience. ```JavaScript var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'v5.04.00.00', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; jQuery(function () { SphinxRtdTheme.StickyNav.enable(); }); var menuHeight = window.innerHeight; var contentOffset = $(".wy-nav-content-wrap").offset(); var contentHeight = $(".wy-nav-content-wrap").height(); var contentBottom = contentOffset.top + contentHeight; function setNavbarTop() { var scrollTop = $(window).scrollTop(); var maxTop = scrollTop + menuHeight; // If past the header if (scrollTop > contentOffset.top && maxTop < contentBottom) { stickyTop = scrollTop - contentOffset.top; } else if (maxTop > contentBottom) { stickyTop = scrollTop - contentOffset.top - (maxTop - contentBottom); } else { stickyTop = 0; } $(".wy-nav-side").css("top", stickyTop); } $(document).ready(function() { setNavbarTop(); $(window).scroll(function () { setNavbarTop(); }); $('body').on("mousewheel", function () { // Remove default behavior event.preventDefault(); // Scroll without smoothing var wheelDelta = event.wheelDelta; var currentScrollPosition = window.pageYOffset; window.scrollTo(0, currentScrollPosition - wheelDelta); }); }); ``` -------------------------------- ### Get X-BAR Output Latch Status Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/xbar.html Checks the current status of the X-BAR output latch for a specified output. It returns true if the latch has been triggered, indicating a previous event, and false otherwise. ```C bool XBAR_getOutputLatchStatus(XBAR_OutputNum output) Parameters: output: is the X-BAR output being checked. The valid inputs are XBAR_OUTPUTy where y is from 1 to 8. Return: Returns true if the output corresponding to 'output' was triggered. If not, it will return false. ``` -------------------------------- ### Enabling Watchdog Reset (C/C++) Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/sysctl.html This function writes the first key required to initiate a watchdog reset. This is typically part of a two-step process to trigger a system reset via the watchdog. ```C void SysCtl_enableWatchdogReset(void) ``` -------------------------------- ### Get X-BAR Input Flag Status Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/xbar.html Retrieves the current status of a specified X-BAR input latch. This function is used to check if a signal corresponding to an input flag has been triggered, returning a boolean value. ```APIDOC bool XBAR_getInputFlagStatus(XBAR_InputFlag _inputFlag_) Returns the status of the input latch. Parameters: _inputFlag_ (XBAR_InputFlag): The X-BAR input latch being checked. Values are in the format of XBAR_INPUT_FLG_XXXX where "XXXX" is name of the signal. Returns: bool: Returns true if the X-BAR input corresponding to the _inputFlag_ has been triggered. If not, it will return false. ``` -------------------------------- ### Getting NMI Watchdog Period in C/C++ Source: https://github.com/xywml/tms320f28377d/blob/main/device_support/f2837xd/docs/html/modules/sysctl.html This function reads the currently configured NMI watchdog period value. It returns the 16-bit unsigned integer that the NMI watchdog counter is compared against to trigger a reset. ```C uint16_t SysCtl_getNMIWatchdogPeriod(void) ```