1 /* --COPYRIGHT--,BSD 2 * Copyright (c) 2017, Texas Instruments Incorporated 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the name of Texas Instruments Incorporated nor the names of 17 * its contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 * --/COPYRIGHT--*/ 32 #ifndef __ROM_H__ 33 #define __ROM_H__ 34 35 //***************************************************************************** 36 // 37 // Pointers to the main API tables. 38 // 39 //***************************************************************************** 40 #define ROM_APITABLE ((unsigned long *)0x02000800) 41 #define ROM_VERSION (ROM_APITABLE[0]) 42 #define ROM_ADC14TABLE ((unsigned long *)(ROM_APITABLE[1])) 43 #define ROM_AES256TABLE ((unsigned long *)(ROM_APITABLE[2])) 44 #define ROM_COMPTABLE ((unsigned long *)(ROM_APITABLE[3])) 45 #define ROM_CRC32TABLE ((unsigned long *)(ROM_APITABLE[4])) 46 #define ROM_CSTABLE ((unsigned long *)(ROM_APITABLE[5])) 47 #define ROM_DMATABLE ((unsigned long *)(ROM_APITABLE[6])) 48 #define ROM_FLASHCTLTABLE ((unsigned long *)(ROM_APITABLE[7])) 49 #define ROM_FPUTABLE ((unsigned long *)(ROM_APITABLE[8])) 50 #define ROM_GPIOTABLE ((unsigned long *)(ROM_APITABLE[9])) 51 #define ROM_I2CTABLE ((unsigned long *)(ROM_APITABLE[10])) 52 #define ROM_INTTABLE ((unsigned long *)(ROM_APITABLE[11])) 53 #define ROM_MPUTABLE ((unsigned long *)(ROM_APITABLE[12])) 54 #define ROM_PCMTABLE ((unsigned long *)(ROM_APITABLE[13])) 55 #define ROM_PMAPTABLE ((unsigned long *)(ROM_APITABLE[14])) 56 #define ROM_PSSTABLE ((unsigned long *)(ROM_APITABLE[15])) 57 #define ROM_REFTABLE ((unsigned long *)(ROM_APITABLE[16])) 58 #define ROM_RESETCTLTABLE ((unsigned long *)(ROM_APITABLE[17])) 59 #define ROM_RTCTABLE ((unsigned long *)(ROM_APITABLE[18])) 60 #define ROM_SPITABLE ((unsigned long *)(ROM_APITABLE[19])) 61 #define ROM_SYSCTLTABLE ((unsigned long *)(ROM_APITABLE[20])) 62 #define ROM_SYSTICKTABLE ((unsigned long *)(ROM_APITABLE[21])) 63 #define ROM_TIMER_ATABLE ((unsigned long *)(ROM_APITABLE[22])) 64 #define ROM_TIMER32TABLE ((unsigned long *)(ROM_APITABLE[23])) 65 #define ROM_UARTTABLE ((unsigned long *)(ROM_APITABLE[24])) 66 #define ROM_WDTTABLE ((unsigned long *)(ROM_APITABLE[25])) 67 #define ROM_SYSCTLATABLE ((unsigned long *)(ROM_APITABLE[26])) 68 #define ROM_FLASHCTLATABLE ((unsigned long *)(ROM_APITABLE[27])) 69 #define ROM_LCDFTABLE ((unsigned long *)(ROM_APITABLE[28])) 70 71 #if defined(__MSP432P401R__) || defined(__MSP432P401M__) 72 #define TARGET_IS_MSP432P4XX 73 #else 74 #define TARGET_IS_MSP432P4XX_NEXT 75 #endif 76 77 //***************************************************************************** 78 // 79 // Macros for calling ROM functions in the ADC14 API. 80 // 81 //***************************************************************************** 82 #if defined(TARGET_IS_MSP432P4XX) || \ 83 defined(TARGET_IS_MSP432P4XX_NEXT) 84 #define ROM_ADC14_enableModule \ 85 ((void (*)(void))ROM_ADC14TABLE[0]) 86 #endif 87 #if defined(TARGET_IS_MSP432P4XX) || \ 88 defined(TARGET_IS_MSP432P4XX_NEXT) 89 #define ROM_ADC14_disableModule \ 90 ((bool (*)(void))ROM_ADC14TABLE[1]) 91 #endif 92 #if defined(TARGET_IS_MSP432P4XX) || \ 93 defined(TARGET_IS_MSP432P4XX_NEXT) 94 #define ROM_ADC14_initModule \ 95 ((bool (*)(uint32_t clockSource, \ 96 uint32_t clockPredivider, \ 97 uint32_t clockDivider, \ 98 uint32_t internalChannelMask))ROM_ADC14TABLE[2]) 99 #endif 100 #if defined(TARGET_IS_MSP432P4XX) || \ 101 defined(TARGET_IS_MSP432P4XX_NEXT) 102 #define ROM_ADC14_setResolution \ 103 ((void (*)(uint32_t resolution))ROM_ADC14TABLE[3]) 104 #endif 105 #if defined(TARGET_IS_MSP432P4XX) || \ 106 defined(TARGET_IS_MSP432P4XX_NEXT) 107 #define ROM_ADC14_getResolution \ 108 ((uint_fast32_t (*)(void))ROM_ADC14TABLE[4]) 109 #endif 110 #if defined(TARGET_IS_MSP432P4XX) || \ 111 defined(TARGET_IS_MSP432P4XX_NEXT) 112 #define ROM_ADC14_setSampleHoldTrigger \ 113 ((bool (*)(uint32_t source, \ 114 bool invertSignal))ROM_ADC14TABLE[5]) 115 #endif 116 #if defined(TARGET_IS_MSP432P4XX) || \ 117 defined(TARGET_IS_MSP432P4XX_NEXT) 118 #define ROM_ADC14_setSampleHoldTime \ 119 ((bool (*)(uint32_t firstPulseWidth, \ 120 uint32_t secondPulseWidth))ROM_ADC14TABLE[6]) 121 #endif 122 #if defined(TARGET_IS_MSP432P4XX) || \ 123 defined(TARGET_IS_MSP432P4XX_NEXT) 124 #define ROM_ADC14_configureSingleSampleMode \ 125 ((bool (*)(uint32_t memoryDestination, \ 126 bool repeatMode))ROM_ADC14TABLE[8]) 127 #endif 128 #if defined(TARGET_IS_MSP432P4XX) || \ 129 defined(TARGET_IS_MSP432P4XX_NEXT) 130 #define ROM_ADC14_enableConversion \ 131 ((bool (*)(void))ROM_ADC14TABLE[9]) 132 #endif 133 #if defined(TARGET_IS_MSP432P4XX) || \ 134 defined(TARGET_IS_MSP432P4XX_NEXT) 135 #define ROM_ADC14_disableConversion \ 136 ((void (*)(void))ROM_ADC14TABLE[10]) 137 #endif 138 #if defined(TARGET_IS_MSP432P4XX) || \ 139 defined(TARGET_IS_MSP432P4XX_NEXT) 140 #define ROM_ADC14_isBusy \ 141 ((bool (*)(void))ROM_ADC14TABLE[11]) 142 #endif 143 #if defined(TARGET_IS_MSP432P4XX) || \ 144 defined(TARGET_IS_MSP432P4XX_NEXT) 145 #define ROM_ADC14_disableComparatorWindow \ 146 ((bool (*)(uint32_t memorySelect))ROM_ADC14TABLE[14]) 147 #endif 148 #if defined(TARGET_IS_MSP432P4XX) || \ 149 defined(TARGET_IS_MSP432P4XX_NEXT) 150 #define ROM_ADC14_setComparatorWindowValue \ 151 ((bool (*)(uint32_t window, \ 152 int16_t low, \ 153 int16_t high))ROM_ADC14TABLE[15]) 154 #endif 155 #if defined(TARGET_IS_MSP432P4XX) || \ 156 defined(TARGET_IS_MSP432P4XX_NEXT) 157 #define ROM_ADC14_setResultFormat \ 158 ((bool (*)(uint32_t resultFormat))ROM_ADC14TABLE[16]) 159 #endif 160 #if defined(TARGET_IS_MSP432P4XX) || \ 161 defined(TARGET_IS_MSP432P4XX_NEXT) 162 #define ROM_ADC14_enableReferenceBurst \ 163 ((bool (*)(void))ROM_ADC14TABLE[20]) 164 #endif 165 #if defined(TARGET_IS_MSP432P4XX) || \ 166 defined(TARGET_IS_MSP432P4XX_NEXT) 167 #define ROM_ADC14_disableReferenceBurst \ 168 ((bool (*)(void))ROM_ADC14TABLE[21]) 169 #endif 170 #if defined(TARGET_IS_MSP432P4XX) || \ 171 defined(TARGET_IS_MSP432P4XX_NEXT) 172 #define ROM_ADC14_setPowerMode \ 173 ((bool (*)(uint32_t powerMode))ROM_ADC14TABLE[22]) 174 #endif 175 #if defined(TARGET_IS_MSP432P4XX) || \ 176 defined(TARGET_IS_MSP432P4XX_NEXT) 177 #define ROM_ADC14_enableInterrupt \ 178 ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[23]) 179 #endif 180 #if defined(TARGET_IS_MSP432P4XX) || \ 181 defined(TARGET_IS_MSP432P4XX_NEXT) 182 #define ROM_ADC14_disableInterrupt \ 183 ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[24]) 184 #endif 185 #if defined(TARGET_IS_MSP432P4XX) || \ 186 defined(TARGET_IS_MSP432P4XX_NEXT) 187 #define ROM_ADC14_getInterruptStatus \ 188 ((uint_fast64_t (*)(void))ROM_ADC14TABLE[25]) 189 #endif 190 #if defined(TARGET_IS_MSP432P4XX) || \ 191 defined(TARGET_IS_MSP432P4XX_NEXT) 192 #define ROM_ADC14_getEnabledInterruptStatus \ 193 ((uint_fast64_t (*)(void))ROM_ADC14TABLE[26]) 194 #endif 195 #if defined(TARGET_IS_MSP432P4XX) || \ 196 defined(TARGET_IS_MSP432P4XX_NEXT) 197 #define ROM_ADC14_clearInterruptFlag \ 198 ((void (*)(uint_fast64_t mask))ROM_ADC14TABLE[27]) 199 #endif 200 #if defined(TARGET_IS_MSP432P4XX) || \ 201 defined(TARGET_IS_MSP432P4XX_NEXT) 202 #define ROM_ADC14_toggleConversionTrigger \ 203 ((bool (*)(void))ROM_ADC14TABLE[28]) 204 #endif 205 #if defined(TARGET_IS_MSP432P4XX) || \ 206 defined(TARGET_IS_MSP432P4XX_NEXT) 207 #define ROM_ADC14_enableSampleTimer \ 208 ((bool (*)(uint32_t multiSampleConvert))ROM_ADC14TABLE[29]) 209 #endif 210 #if defined(TARGET_IS_MSP432P4XX) || \ 211 defined(TARGET_IS_MSP432P4XX_NEXT) 212 #define ROM_ADC14_disableSampleTimer \ 213 ((bool (*)(void))ROM_ADC14TABLE[30]) 214 #endif 215 216 //***************************************************************************** 217 // 218 // Macros for calling ROM functions in the AES256 API. 219 // 220 //***************************************************************************** 221 #if defined(TARGET_IS_MSP432P4XX) || \ 222 defined(TARGET_IS_MSP432P4XX_NEXT) 223 #define ROM_AES256_setCipherKey \ 224 ((bool (*)(uint32_t moduleInstance, \ 225 const uint8_t *cipherKey, \ 226 uint_fast16_t keyLength))ROM_AES256TABLE[0]) 227 #endif 228 #if defined(TARGET_IS_MSP432P4XX) || \ 229 defined(TARGET_IS_MSP432P4XX_NEXT) 230 #define ROM_AES256_encryptData \ 231 ((void (*)(uint32_t moduleInstance, \ 232 const uint8_t *data, \ 233 uint8_t *encryptedData))ROM_AES256TABLE[1]) 234 #endif 235 #if defined(TARGET_IS_MSP432P4XX) || \ 236 defined(TARGET_IS_MSP432P4XX_NEXT) 237 #define ROM_AES256_decryptData \ 238 ((void (*)(uint32_t moduleInstance, \ 239 const uint8_t *data, \ 240 uint8_t *decryptedData))ROM_AES256TABLE[2]) 241 #endif 242 #if defined(TARGET_IS_MSP432P4XX) || \ 243 defined(TARGET_IS_MSP432P4XX_NEXT) 244 #define ROM_AES256_setDecipherKey \ 245 ((bool (*)(uint32_t moduleInstance, \ 246 const uint8_t *cipherKey, \ 247 uint_fast16_t keyLength))ROM_AES256TABLE[3]) 248 #endif 249 #if defined(TARGET_IS_MSP432P4XX) || \ 250 defined(TARGET_IS_MSP432P4XX_NEXT) 251 #define ROM_AES256_reset \ 252 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[4]) 253 #endif 254 #if defined(TARGET_IS_MSP432P4XX) || \ 255 defined(TARGET_IS_MSP432P4XX_NEXT) 256 #define ROM_AES256_startEncryptData \ 257 ((void (*)(uint32_t moduleInstance, \ 258 const uint8_t *data))ROM_AES256TABLE[5]) 259 #endif 260 #if defined(TARGET_IS_MSP432P4XX) || \ 261 defined(TARGET_IS_MSP432P4XX_NEXT) 262 #define ROM_AES256_startDecryptData \ 263 ((void (*)(uint32_t moduleInstance, \ 264 const uint8_t *data))ROM_AES256TABLE[6]) 265 #endif 266 #if defined(TARGET_IS_MSP432P4XX) || \ 267 defined(TARGET_IS_MSP432P4XX_NEXT) 268 #define ROM_AES256_startSetDecipherKey \ 269 ((bool (*)(uint32_t moduleInstance, \ 270 const uint8_t *cipherKey, \ 271 uint_fast16_t keyLength))ROM_AES256TABLE[7]) 272 #endif 273 #if defined(TARGET_IS_MSP432P4XX) || \ 274 defined(TARGET_IS_MSP432P4XX_NEXT) 275 #define ROM_AES256_getDataOut \ 276 ((bool (*)(uint32_t moduleInstance, \ 277 uint8_t *outputData))ROM_AES256TABLE[8]) 278 #endif 279 #if defined(TARGET_IS_MSP432P4XX) || \ 280 defined(TARGET_IS_MSP432P4XX_NEXT) 281 #define ROM_AES256_isBusy \ 282 ((bool (*)(uint32_t moduleInstance))ROM_AES256TABLE[9]) 283 #endif 284 #if defined(TARGET_IS_MSP432P4XX) || \ 285 defined(TARGET_IS_MSP432P4XX_NEXT) 286 #define ROM_AES256_clearErrorFlag \ 287 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[10]) 288 #endif 289 #if defined(TARGET_IS_MSP432P4XX) || \ 290 defined(TARGET_IS_MSP432P4XX_NEXT) 291 #define ROM_AES256_getErrorFlagStatus \ 292 ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[11]) 293 #endif 294 #if defined(TARGET_IS_MSP432P4XX) || \ 295 defined(TARGET_IS_MSP432P4XX_NEXT) 296 #define ROM_AES256_clearInterruptFlag \ 297 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[12]) 298 #endif 299 #if defined(TARGET_IS_MSP432P4XX) || \ 300 defined(TARGET_IS_MSP432P4XX_NEXT) 301 #define ROM_AES256_getInterruptStatus \ 302 ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[13]) 303 #endif 304 #if defined(TARGET_IS_MSP432P4XX) || \ 305 defined(TARGET_IS_MSP432P4XX_NEXT) 306 #define ROM_AES256_enableInterrupt \ 307 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[14]) 308 #endif 309 #if defined(TARGET_IS_MSP432P4XX) || \ 310 defined(TARGET_IS_MSP432P4XX_NEXT) 311 #define ROM_AES256_disableInterrupt \ 312 ((void (*)(uint32_t moduleInstance))ROM_AES256TABLE[15]) 313 #endif 314 #if defined(TARGET_IS_MSP432P4XX) || \ 315 defined(TARGET_IS_MSP432P4XX_NEXT) 316 #define ROM_AES256_getInterruptFlagStatus \ 317 ((uint32_t (*)(uint32_t moduleInstance))ROM_AES256TABLE[18]) 318 #endif 319 320 //***************************************************************************** 321 // 322 // Macros for calling ROM functions in the Comp API. 323 // 324 //***************************************************************************** 325 #if defined(TARGET_IS_MSP432P4XX) || \ 326 defined(TARGET_IS_MSP432P4XX_NEXT) 327 #define ROM_COMP_E_initModule \ 328 ((bool (*)(uint32_t comparator, \ 329 const COMP_E_Config *config))ROM_COMPTABLE[0]) 330 #endif 331 #if defined(TARGET_IS_MSP432P4XX) || \ 332 defined(TARGET_IS_MSP432P4XX_NEXT) 333 #define ROM_COMP_E_setReferenceVoltage \ 334 ((void (*)(uint32_t comparator, \ 335 uint_fast16_t supplyVoltageReferenceBase, \ 336 uint_fast16_t lowerLimitSupplyVoltageFractionOf32, \ 337 uint_fast16_t upperLimitSupplyVoltageFractionOf32))ROM_COMPTABLE[1]) 338 #endif 339 #if defined(TARGET_IS_MSP432P4XX) || \ 340 defined(TARGET_IS_MSP432P4XX_NEXT) 341 #define ROM_COMP_E_setReferenceAccuracy \ 342 ((void (*)(uint32_t comparator, \ 343 uint_fast16_t referenceAccuracy))ROM_COMPTABLE[2]) 344 #endif 345 #if defined(TARGET_IS_MSP432P4XX) || \ 346 defined(TARGET_IS_MSP432P4XX_NEXT) 347 #define ROM_COMP_E_setPowerMode \ 348 ((void (*)(uint32_t comparator, \ 349 uint_fast16_t powerMode))ROM_COMPTABLE[3]) 350 #endif 351 #if defined(TARGET_IS_MSP432P4XX) || \ 352 defined(TARGET_IS_MSP432P4XX_NEXT) 353 #define ROM_COMP_E_enableModule \ 354 ((void (*)(uint32_t comparator))ROM_COMPTABLE[4]) 355 #endif 356 #if defined(TARGET_IS_MSP432P4XX) || \ 357 defined(TARGET_IS_MSP432P4XX_NEXT) 358 #define ROM_COMP_E_disableModule \ 359 ((void (*)(uint32_t comparator))ROM_COMPTABLE[5]) 360 #endif 361 #if defined(TARGET_IS_MSP432P4XX) || \ 362 defined(TARGET_IS_MSP432P4XX_NEXT) 363 #define ROM_COMP_E_shortInputs \ 364 ((void (*)(uint32_t comparator))ROM_COMPTABLE[6]) 365 #endif 366 #if defined(TARGET_IS_MSP432P4XX) || \ 367 defined(TARGET_IS_MSP432P4XX_NEXT) 368 #define ROM_COMP_E_unshortInputs \ 369 ((void (*)(uint32_t comparator))ROM_COMPTABLE[7]) 370 #endif 371 #if defined(TARGET_IS_MSP432P4XX) || \ 372 defined(TARGET_IS_MSP432P4XX_NEXT) 373 #define ROM_COMP_E_disableInputBuffer \ 374 ((void (*)(uint32_t comparator, \ 375 uint_fast16_t inputPort))ROM_COMPTABLE[8]) 376 #endif 377 #if defined(TARGET_IS_MSP432P4XX) || \ 378 defined(TARGET_IS_MSP432P4XX_NEXT) 379 #define ROM_COMP_E_enableInputBuffer \ 380 ((void (*)(uint32_t comparator, \ 381 uint_fast16_t inputPort))ROM_COMPTABLE[9]) 382 #endif 383 #if defined(TARGET_IS_MSP432P4XX) || \ 384 defined(TARGET_IS_MSP432P4XX_NEXT) 385 #define ROM_COMP_E_swapIO \ 386 ((void (*)(uint32_t comparator))ROM_COMPTABLE[10]) 387 #endif 388 #if defined(TARGET_IS_MSP432P4XX) || \ 389 defined(TARGET_IS_MSP432P4XX_NEXT) 390 #define ROM_COMP_E_outputValue \ 391 ((uint8_t (*)(uint32_t comparator))ROM_COMPTABLE[11]) 392 #endif 393 #if defined(TARGET_IS_MSP432P4XX) || \ 394 defined(TARGET_IS_MSP432P4XX_NEXT) 395 #define ROM_COMP_E_enableInterrupt \ 396 ((void (*)(uint32_t comparator, \ 397 uint_fast16_t mask))ROM_COMPTABLE[12]) 398 #endif 399 #if defined(TARGET_IS_MSP432P4XX) || \ 400 defined(TARGET_IS_MSP432P4XX_NEXT) 401 #define ROM_COMP_E_disableInterrupt \ 402 ((void (*)(uint32_t comparator, \ 403 uint_fast16_t mask))ROM_COMPTABLE[13]) 404 #endif 405 #if defined(TARGET_IS_MSP432P4XX) || \ 406 defined(TARGET_IS_MSP432P4XX_NEXT) 407 #define ROM_COMP_E_clearInterruptFlag \ 408 ((void (*)(uint32_t comparator, \ 409 uint_fast16_t mask))ROM_COMPTABLE[14]) 410 #endif 411 #if defined(TARGET_IS_MSP432P4XX) || \ 412 defined(TARGET_IS_MSP432P4XX_NEXT) 413 #define ROM_COMP_E_getInterruptStatus \ 414 ((uint_fast16_t (*)(uint32_t comparator))ROM_COMPTABLE[15]) 415 #endif 416 #if defined(TARGET_IS_MSP432P4XX) || \ 417 defined(TARGET_IS_MSP432P4XX_NEXT) 418 #define ROM_COMP_E_getEnabledInterruptStatus \ 419 ((uint_fast16_t (*)(uint32_t comparator))ROM_COMPTABLE[16]) 420 #endif 421 #if defined(TARGET_IS_MSP432P4XX) || \ 422 defined(TARGET_IS_MSP432P4XX_NEXT) 423 #define ROM_COMP_E_setInterruptEdgeDirection \ 424 ((void (*)(uint32_t comparator, \ 425 uint_fast8_t edgeDirection))ROM_COMPTABLE[17]) 426 #endif 427 #if defined(TARGET_IS_MSP432P4XX) || \ 428 defined(TARGET_IS_MSP432P4XX_NEXT) 429 #define ROM_COMP_E_toggleInterruptEdgeDirection \ 430 ((void (*)(uint32_t comparator))ROM_COMPTABLE[18]) 431 #endif 432 433 //***************************************************************************** 434 // 435 // Macros for calling ROM functions in the CRC32 API. 436 // 437 //***************************************************************************** 438 #if defined(TARGET_IS_MSP432P4XX) || \ 439 defined(TARGET_IS_MSP432P4XX_NEXT) 440 #define ROM_CRC32_setSeed \ 441 ((void (*)(uint32_t seed, \ 442 uint_fast8_t crcType))ROM_CRC32TABLE[0]) 443 #endif 444 #if defined(TARGET_IS_MSP432P4XX) || \ 445 defined(TARGET_IS_MSP432P4XX_NEXT) 446 #define ROM_CRC32_set8BitData \ 447 ((void (*)(uint8_t dataIn, \ 448 uint_fast8_t crcType))ROM_CRC32TABLE[1]) 449 #endif 450 #if defined(TARGET_IS_MSP432P4XX) || \ 451 defined(TARGET_IS_MSP432P4XX_NEXT) 452 #define ROM_CRC32_set16BitData \ 453 ((void (*)(uint16_t dataIn, \ 454 uint_fast8_t crcType))ROM_CRC32TABLE[2]) 455 #endif 456 #if defined(TARGET_IS_MSP432P4XX) || \ 457 defined(TARGET_IS_MSP432P4XX_NEXT) 458 #define ROM_CRC32_set32BitData \ 459 ((void (*)(uint32_t dataIn))ROM_CRC32TABLE[3]) 460 #endif 461 #if defined(TARGET_IS_MSP432P4XX) || \ 462 defined(TARGET_IS_MSP432P4XX_NEXT) 463 #define ROM_CRC32_set8BitDataReversed \ 464 ((void (*)(uint8_t dataIn, \ 465 uint_fast8_t crcType))ROM_CRC32TABLE[4]) 466 #endif 467 #if defined(TARGET_IS_MSP432P4XX) || \ 468 defined(TARGET_IS_MSP432P4XX_NEXT) 469 #define ROM_CRC32_set16BitDataReversed \ 470 ((void (*)(uint16_t dataIn, \ 471 uint_fast8_t crcType))ROM_CRC32TABLE[5]) 472 #endif 473 #if defined(TARGET_IS_MSP432P4XX) || \ 474 defined(TARGET_IS_MSP432P4XX_NEXT) 475 #define ROM_CRC32_set32BitDataReversed \ 476 ((void (*)(uint32_t dataIn))ROM_CRC32TABLE[6]) 477 #endif 478 479 //***************************************************************************** 480 // 481 // Macros for calling ROM functions in the CS API. 482 // 483 //***************************************************************************** 484 #if defined(TARGET_IS_MSP432P4XX) || \ 485 defined(TARGET_IS_MSP432P4XX_NEXT) 486 #define ROM_CS_initClockSignal \ 487 ((void (*)(uint32_t selectedClockSignal, \ 488 uint32_t clockSource, \ 489 uint32_t clockSourceDivider))ROM_CSTABLE[0]) 490 #endif 491 #if defined(TARGET_IS_MSP432P4XX) || \ 492 defined(TARGET_IS_MSP432P4XX_NEXT) 493 #define ROM_CS_setReferenceOscillatorFrequency \ 494 ((void (*)(uint8_t referenceFrequency))ROM_CSTABLE[1]) 495 #endif 496 #if defined(TARGET_IS_MSP432P4XX) || \ 497 defined(TARGET_IS_MSP432P4XX_NEXT) 498 #define ROM_CS_enableClockRequest \ 499 ((void (*)(uint32_t selectClock))ROM_CSTABLE[2]) 500 #endif 501 #if defined(TARGET_IS_MSP432P4XX) || \ 502 defined(TARGET_IS_MSP432P4XX_NEXT) 503 #define ROM_CS_disableClockRequest \ 504 ((void (*)(uint32_t selectClock))ROM_CSTABLE[3]) 505 #endif 506 #if defined(TARGET_IS_MSP432P4XX) || \ 507 defined(TARGET_IS_MSP432P4XX_NEXT) 508 #define ROM_CS_setDCOCenteredFrequency \ 509 ((void (*)(uint32_t dcoFreq))ROM_CSTABLE[4]) 510 #endif 511 #if defined(TARGET_IS_MSP432P4XX) || \ 512 defined(TARGET_IS_MSP432P4XX_NEXT) 513 #define ROM_CS_tuneDCOFrequency \ 514 ((void (*)(int16_t tuneParameter))ROM_CSTABLE[5]) 515 #endif 516 #if defined(TARGET_IS_MSP432P4XX) || \ 517 defined(TARGET_IS_MSP432P4XX_NEXT) 518 #define ROM_CS_enableDCOExternalResistor \ 519 ((void (*)(void))ROM_CSTABLE[6]) 520 #endif 521 #if defined(TARGET_IS_MSP432P4XX) || \ 522 defined(TARGET_IS_MSP432P4XX_NEXT) 523 #define ROM_CS_disableDCOExternalResistor \ 524 ((void (*)(void))ROM_CSTABLE[7]) 525 #endif 526 #if defined(TARGET_IS_MSP432P4XX) || \ 527 defined(TARGET_IS_MSP432P4XX_NEXT) 528 #define ROM_CS_enableInterrupt \ 529 ((void (*)(uint32_t flags))ROM_CSTABLE[8]) 530 #endif 531 #if defined(TARGET_IS_MSP432P4XX) || \ 532 defined(TARGET_IS_MSP432P4XX_NEXT) 533 #define ROM_CS_disableInterrupt \ 534 ((void (*)(uint32_t flags))ROM_CSTABLE[9]) 535 #endif 536 #if defined(TARGET_IS_MSP432P4XX) || \ 537 defined(TARGET_IS_MSP432P4XX_NEXT) 538 #define ROM_CS_getEnabledInterruptStatus \ 539 ((uint32_t (*)(void))ROM_CSTABLE[10]) 540 #endif 541 #if defined(TARGET_IS_MSP432P4XX) || \ 542 defined(TARGET_IS_MSP432P4XX_NEXT) 543 #define ROM_CS_getInterruptStatus \ 544 ((uint32_t (*)(void))ROM_CSTABLE[11]) 545 #endif 546 #if defined(TARGET_IS_MSP432P4XX) || \ 547 defined(TARGET_IS_MSP432P4XX_NEXT) 548 #define ROM_CS_setDCOFrequency \ 549 ((void (*)(uint32_t dcoFrequency))ROM_CSTABLE[12]) 550 #endif 551 #if defined(TARGET_IS_MSP432P4XX) || \ 552 defined(TARGET_IS_MSP432P4XX_NEXT) 553 #define ROM_CS_getDCOFrequency \ 554 ((uint32_t (*)(void))ROM_CSTABLE[13]) 555 #endif 556 #if defined(TARGET_IS_MSP432P4XX) || \ 557 defined(TARGET_IS_MSP432P4XX_NEXT) 558 #define ROM_CS_enableFaultCounter \ 559 ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[14]) 560 #endif 561 #if defined(TARGET_IS_MSP432P4XX) || \ 562 defined(TARGET_IS_MSP432P4XX_NEXT) 563 #define ROM_CS_disableFaultCounter \ 564 ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[15]) 565 #endif 566 #if defined(TARGET_IS_MSP432P4XX) || \ 567 defined(TARGET_IS_MSP432P4XX_NEXT) 568 #define ROM_CS_resetFaultCounter \ 569 ((void (*)(uint_fast8_t counterSelect))ROM_CSTABLE[16]) 570 #endif 571 #if defined(TARGET_IS_MSP432P4XX) || \ 572 defined(TARGET_IS_MSP432P4XX_NEXT) 573 #define ROM_CS_startFaultCounter \ 574 ((void (*)(uint_fast8_t counterSelect, \ 575 uint_fast8_t countValue))ROM_CSTABLE[17]) 576 #endif 577 #if defined(TARGET_IS_MSP432P4XX) || \ 578 defined(TARGET_IS_MSP432P4XX_NEXT) 579 #define ROM_CS_clearInterruptFlag \ 580 ((void (*)(uint32_t flags))ROM_CSTABLE[20]) 581 #endif 582 #if defined(TARGET_IS_MSP432P4XX) || \ 583 defined(TARGET_IS_MSP432P4XX_NEXT) 584 #define ROM_CS_setDCOExternalResistorCalibration \ 585 ((void (*)(uint_fast8_t uiCalData, \ 586 uint_fast8_t freqRange))ROM_CSTABLE[31]) 587 #endif 588 589 //***************************************************************************** 590 // 591 // Macros for calling ROM functions in the DMA API. 592 // 593 //***************************************************************************** 594 #if defined(TARGET_IS_MSP432P4XX) || \ 595 defined(TARGET_IS_MSP432P4XX_NEXT) 596 #define ROM_DMA_enableModule \ 597 ((void (*)(void))ROM_DMATABLE[0]) 598 #endif 599 #if defined(TARGET_IS_MSP432P4XX) || \ 600 defined(TARGET_IS_MSP432P4XX_NEXT) 601 #define ROM_DMA_getErrorStatus \ 602 ((uint32_t (*)(void))ROM_DMATABLE[2]) 603 #endif 604 #if defined(TARGET_IS_MSP432P4XX) || \ 605 defined(TARGET_IS_MSP432P4XX_NEXT) 606 #define ROM_DMA_clearErrorStatus \ 607 ((void (*)(void))ROM_DMATABLE[3]) 608 #endif 609 #if defined(TARGET_IS_MSP432P4XX) || \ 610 defined(TARGET_IS_MSP432P4XX_NEXT) 611 #define ROM_DMA_enableChannel \ 612 ((void (*)(uint32_t channelNum))ROM_DMATABLE[4]) 613 #endif 614 #if defined(TARGET_IS_MSP432P4XX) || \ 615 defined(TARGET_IS_MSP432P4XX_NEXT) 616 #define ROM_DMA_disableChannel \ 617 ((void (*)(uint32_t channelNum))ROM_DMATABLE[5]) 618 #endif 619 #if defined(TARGET_IS_MSP432P4XX) || \ 620 defined(TARGET_IS_MSP432P4XX_NEXT) 621 #define ROM_DMA_isChannelEnabled \ 622 ((bool (*)(uint32_t channelNum))ROM_DMATABLE[6]) 623 #endif 624 #if defined(TARGET_IS_MSP432P4XX) || \ 625 defined(TARGET_IS_MSP432P4XX_NEXT) 626 #define ROM_DMA_setControlBase \ 627 ((void (*)(void *controlTable))ROM_DMATABLE[7]) 628 #endif 629 #if defined(TARGET_IS_MSP432P4XX) || \ 630 defined(TARGET_IS_MSP432P4XX_NEXT) 631 #define ROM_DMA_getControlBase \ 632 ((void* (*)(void))ROM_DMATABLE[8]) 633 #endif 634 #if defined(TARGET_IS_MSP432P4XX) || \ 635 defined(TARGET_IS_MSP432P4XX_NEXT) 636 #define ROM_DMA_getControlAlternateBase \ 637 ((void* (*)(void))ROM_DMATABLE[9]) 638 #endif 639 #if defined(TARGET_IS_MSP432P4XX) || \ 640 defined(TARGET_IS_MSP432P4XX_NEXT) 641 #define ROM_DMA_requestChannel \ 642 ((void (*)(uint32_t channelNum))ROM_DMATABLE[10]) 643 #endif 644 #if defined(TARGET_IS_MSP432P4XX) || \ 645 defined(TARGET_IS_MSP432P4XX_NEXT) 646 #define ROM_DMA_enableChannelAttribute \ 647 ((void (*)(uint32_t channelNum, \ 648 uint32_t attr))ROM_DMATABLE[11]) 649 #endif 650 #if defined(TARGET_IS_MSP432P4XX) || \ 651 defined(TARGET_IS_MSP432P4XX_NEXT) 652 #define ROM_DMA_disableChannelAttribute \ 653 ((void (*)(uint32_t channelNum, \ 654 uint32_t attr))ROM_DMATABLE[12]) 655 #endif 656 #if defined(TARGET_IS_MSP432P4XX) || \ 657 defined(TARGET_IS_MSP432P4XX_NEXT) 658 #define ROM_DMA_getChannelAttribute \ 659 ((uint32_t (*)(uint32_t channelNum))ROM_DMATABLE[13]) 660 #endif 661 #if defined(TARGET_IS_MSP432P4XX) || \ 662 defined(TARGET_IS_MSP432P4XX_NEXT) 663 #define ROM_DMA_setChannelControl \ 664 ((void (*)(uint32_t channelStructIndex, \ 665 uint32_t control))ROM_DMATABLE[14]) 666 #endif 667 #if defined(TARGET_IS_MSP432P4XX) || \ 668 defined(TARGET_IS_MSP432P4XX_NEXT) 669 #define ROM_DMA_setChannelScatterGather \ 670 ((void (*)(uint32_t channelNum, \ 671 uint32_t taskCount, \ 672 void *taskList, \ 673 uint32_t isPeriphSG))ROM_DMATABLE[16]) 674 #endif 675 #if defined(TARGET_IS_MSP432P4XX) || \ 676 defined(TARGET_IS_MSP432P4XX_NEXT) 677 #define ROM_DMA_getChannelSize \ 678 ((uint32_t (*)(uint32_t channelStructIndex))ROM_DMATABLE[17]) 679 #endif 680 #if defined(TARGET_IS_MSP432P4XX) || \ 681 defined(TARGET_IS_MSP432P4XX_NEXT) 682 #define ROM_DMA_getChannelMode \ 683 ((uint32_t (*)(uint32_t channelStructIndex))ROM_DMATABLE[18]) 684 #endif 685 #if defined(TARGET_IS_MSP432P4XX) || \ 686 defined(TARGET_IS_MSP432P4XX_NEXT) 687 #define ROM_DMA_assignChannel \ 688 ((void (*)(uint32_t mapping))ROM_DMATABLE[19]) 689 #endif 690 #if defined(TARGET_IS_MSP432P4XX) || \ 691 defined(TARGET_IS_MSP432P4XX_NEXT) 692 #define ROM_DMA_requestSoftwareTransfer \ 693 ((void (*)(uint32_t channel))ROM_DMATABLE[20]) 694 #endif 695 #if defined(TARGET_IS_MSP432P4XX) || \ 696 defined(TARGET_IS_MSP432P4XX_NEXT) 697 #define ROM_DMA_assignInterrupt \ 698 ((void (*)(uint32_t interruptNumber, \ 699 uint32_t channel))ROM_DMATABLE[21]) 700 #endif 701 #if defined(TARGET_IS_MSP432P4XX) || \ 702 defined(TARGET_IS_MSP432P4XX_NEXT) 703 #define ROM_DMA_enableInterrupt \ 704 ((void (*)(uint32_t interruptNumber))ROM_DMATABLE[22]) 705 #endif 706 #if defined(TARGET_IS_MSP432P4XX) || \ 707 defined(TARGET_IS_MSP432P4XX_NEXT) 708 #define ROM_DMA_disableInterrupt \ 709 ((void (*)(uint32_t interruptNumber))ROM_DMATABLE[23]) 710 #endif 711 #if defined(TARGET_IS_MSP432P4XX) || \ 712 defined(TARGET_IS_MSP432P4XX_NEXT) 713 #define ROM_DMA_getInterruptStatus \ 714 ((uint32_t (*)(void))ROM_DMATABLE[24]) 715 #endif 716 #if defined(TARGET_IS_MSP432P4XX) || \ 717 defined(TARGET_IS_MSP432P4XX_NEXT) 718 #define ROM_DMA_clearInterruptFlag \ 719 ((void (*)(uint32_t intChannel))ROM_DMATABLE[25]) 720 #endif 721 722 //***************************************************************************** 723 // 724 // Macros for calling ROM functions in the Flash API. 725 // 726 //***************************************************************************** 727 #if defined(TARGET_IS_MSP432P4XX) 728 #define ROM_FlashCtl_enableReadBuffering \ 729 ((void (*)(uint_fast8_t memoryBank, \ 730 uint_fast8_t accessMethod))ROM_FLASHCTLTABLE[2]) 731 #endif 732 #if defined(TARGET_IS_MSP432P4XX) 733 #define ROM_FlashCtl_disableReadBuffering \ 734 ((void (*)(uint_fast8_t memoryBank, \ 735 uint_fast8_t accessMethod))ROM_FLASHCTLTABLE[3]) 736 #endif 737 #if defined(TARGET_IS_MSP432P4XX) 738 #define ROM_FlashCtl_unprotectSector \ 739 ((bool (*)(uint_fast8_t memorySpace, \ 740 uint32_t sectorMask))ROM_FLASHCTLTABLE[4]) 741 #endif 742 #if defined(TARGET_IS_MSP432P4XX) 743 #define ROM_FlashCtl_isSectorProtected \ 744 ((bool (*)(uint_fast8_t memorySpace, \ 745 uint32_t sector))ROM_FLASHCTLTABLE[6]) 746 #endif 747 #if defined(TARGET_IS_MSP432P4XX) 748 #define ROM_FlashCtl_verifyMemory \ 749 ((bool (*)(void* verifyAddr, \ 750 uint32_t length, \ 751 uint_fast8_t pattern))ROM_FLASHCTLTABLE[7]) 752 #endif 753 #if defined(TARGET_IS_MSP432P4XX) 754 #define ROM_FlashCtl_performMassErase \ 755 ((bool (*)(void))ROM_FLASHCTLTABLE[8]) 756 #endif 757 #if defined(TARGET_IS_MSP432P4XX) 758 #define ROM_FlashCtl_eraseSector \ 759 ((bool (*)(uint32_t addr))ROM_FLASHCTLTABLE[9]) 760 #endif 761 #if defined(TARGET_IS_MSP432P4XX) 762 #define ROM_FlashCtl_programMemory \ 763 ((bool (*)(void* src, \ 764 void* dest, \ 765 uint32_t length))ROM_FLASHCTLTABLE[10]) 766 #endif 767 #if defined(TARGET_IS_MSP432P4XX) 768 #define ROM_FlashCtl_setProgramVerification \ 769 ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLTABLE[11]) 770 #endif 771 #if defined(TARGET_IS_MSP432P4XX) 772 #define ROM_FlashCtl_clearProgramVerification \ 773 ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLTABLE[12]) 774 #endif 775 #if defined(TARGET_IS_MSP432P4XX) 776 #define ROM_FlashCtl_enableWordProgramming \ 777 ((void (*)(uint32_t mode))ROM_FLASHCTLTABLE[13]) 778 #endif 779 #if defined(TARGET_IS_MSP432P4XX) 780 #define ROM_FlashCtl_disableWordProgramming \ 781 ((void (*)(void))ROM_FLASHCTLTABLE[14]) 782 #endif 783 #if defined(TARGET_IS_MSP432P4XX) 784 #define ROM_FlashCtl_isWordProgrammingEnabled \ 785 ((uint32_t (*)(void))ROM_FLASHCTLTABLE[15]) 786 #endif 787 #if defined(TARGET_IS_MSP432P4XX) 788 #define ROM_FlashCtl_enableInterrupt \ 789 ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[16]) 790 #endif 791 #if defined(TARGET_IS_MSP432P4XX) 792 #define ROM_FlashCtl_disableInterrupt \ 793 ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[17]) 794 #endif 795 #if defined(TARGET_IS_MSP432P4XX) 796 #define ROM_FlashCtl_getEnabledInterruptStatus \ 797 ((uint32_t (*)(void))ROM_FLASHCTLTABLE[18]) 798 #endif 799 #if defined(TARGET_IS_MSP432P4XX) 800 #define ROM_FlashCtl_getInterruptStatus \ 801 ((uint32_t (*)(void))ROM_FLASHCTLTABLE[19]) 802 #endif 803 #if defined(TARGET_IS_MSP432P4XX) 804 #define ROM_FlashCtl_clearInterruptFlag \ 805 ((void (*)(uint32_t flags))ROM_FLASHCTLTABLE[20]) 806 #endif 807 #if defined(TARGET_IS_MSP432P4XX) 808 #define ROM_FlashCtl_setWaitState \ 809 ((void (*)(uint32_t bank, \ 810 uint32_t waitState))ROM_FLASHCTLTABLE[21]) 811 #endif 812 #if defined(TARGET_IS_MSP432P4XX) 813 #define ROM_FlashCtl_getWaitState \ 814 ((uint32_t (*)(uint32_t bank))ROM_FLASHCTLTABLE[22]) 815 #endif 816 #if defined(TARGET_IS_MSP432P4XX) 817 #define ROM_FlashCtl_setReadMode \ 818 ((bool (*)(uint32_t flashBank, \ 819 uint32_t readMode))ROM_FLASHCTLTABLE[23]) 820 #endif 821 #if defined(TARGET_IS_MSP432P4XX) 822 #define ROM_FlashCtl_getReadMode \ 823 ((uint32_t (*)(uint32_t flashBank))ROM_FLASHCTLTABLE[24]) 824 #endif 825 #if defined(TARGET_IS_MSP432P4XX) 826 #define ROM___FlashCtl_remaskData8Post \ 827 ((uint8_t (*)(uint8_t data, \ 828 uint32_t addr))ROM_FLASHCTLTABLE[27]) 829 #endif 830 #if defined(TARGET_IS_MSP432P4XX) 831 #define ROM___FlashCtl_remaskData8Pre \ 832 ((uint8_t (*)(uint8_t data, \ 833 uint32_t addr))ROM_FLASHCTLTABLE[28]) 834 #endif 835 #if defined(TARGET_IS_MSP432P4XX) 836 #define ROM___FlashCtl_remaskData32Pre \ 837 ((uint32_t (*)(uint32_t data, \ 838 uint32_t addr))ROM_FLASHCTLTABLE[29]) 839 #endif 840 #if defined(TARGET_IS_MSP432P4XX) 841 #define ROM___FlashCtl_remaskData32Post \ 842 ((uint32_t (*)(uint32_t data, \ 843 uint32_t addr))ROM_FLASHCTLTABLE[30]) 844 #endif 845 #if defined(TARGET_IS_MSP432P4XX) 846 #define ROM___FlashCtl_remaskBurstDataPre \ 847 ((void (*)(uint32_t addr, \ 848 uint32_t size))ROM_FLASHCTLTABLE[31]) 849 #endif 850 #if defined(TARGET_IS_MSP432P4XX) 851 #define ROM___FlashCtl_remaskBurstDataPost \ 852 ((void (*)(uint32_t addr, \ 853 uint32_t size))ROM_FLASHCTLTABLE[32]) 854 #endif 855 #if defined(TARGET_IS_MSP432P4XX) 856 #define ROM_FlashCtl_initiateSectorErase \ 857 ((void (*)(uint32_t addr))ROM_FLASHCTLTABLE[33]) 858 #endif 859 #if defined(TARGET_IS_MSP432P4XX) 860 #define ROM_FlashCtl_initiateMassErase \ 861 ((void (*)(void))ROM_FLASHCTLTABLE[34]) 862 #endif 863 864 //***************************************************************************** 865 // 866 // Macros for calling ROM functions in the FPU API. 867 // 868 //***************************************************************************** 869 #if defined(TARGET_IS_MSP432P4XX) || \ 870 defined(TARGET_IS_MSP432P4XX_NEXT) 871 #define ROM_FPU_enableModule \ 872 ((void (*)(void))ROM_FPUTABLE[0]) 873 #endif 874 #if defined(TARGET_IS_MSP432P4XX) || \ 875 defined(TARGET_IS_MSP432P4XX_NEXT) 876 #define ROM_FPU_disableModule \ 877 ((void (*)(void))ROM_FPUTABLE[1]) 878 #endif 879 #if defined(TARGET_IS_MSP432P4XX) || \ 880 defined(TARGET_IS_MSP432P4XX_NEXT) 881 #define ROM_FPU_enableStacking \ 882 ((void (*)(void))ROM_FPUTABLE[2]) 883 #endif 884 #if defined(TARGET_IS_MSP432P4XX) || \ 885 defined(TARGET_IS_MSP432P4XX_NEXT) 886 #define ROM_FPU_enableLazyStacking \ 887 ((void (*)(void))ROM_FPUTABLE[3]) 888 #endif 889 #if defined(TARGET_IS_MSP432P4XX) || \ 890 defined(TARGET_IS_MSP432P4XX_NEXT) 891 #define ROM_FPU_disableStacking \ 892 ((void (*)(void))ROM_FPUTABLE[4]) 893 #endif 894 #if defined(TARGET_IS_MSP432P4XX) || \ 895 defined(TARGET_IS_MSP432P4XX_NEXT) 896 #define ROM_FPU_setHalfPrecisionMode \ 897 ((void (*)(uint32_t mode))ROM_FPUTABLE[5]) 898 #endif 899 #if defined(TARGET_IS_MSP432P4XX) || \ 900 defined(TARGET_IS_MSP432P4XX_NEXT) 901 #define ROM_FPU_setNaNMode \ 902 ((void (*)(uint32_t mode))ROM_FPUTABLE[6]) 903 #endif 904 #if defined(TARGET_IS_MSP432P4XX) || \ 905 defined(TARGET_IS_MSP432P4XX_NEXT) 906 #define ROM_FPU_setFlushToZeroMode \ 907 ((void (*)(uint32_t mode))ROM_FPUTABLE[7]) 908 #endif 909 #if defined(TARGET_IS_MSP432P4XX) || \ 910 defined(TARGET_IS_MSP432P4XX_NEXT) 911 #define ROM_FPU_setRoundingMode \ 912 ((void (*)(uint32_t mode))ROM_FPUTABLE[8]) 913 #endif 914 915 //***************************************************************************** 916 // 917 // Macros for calling ROM functions in the GPIO API. 918 // 919 //***************************************************************************** 920 #if defined(TARGET_IS_MSP432P4XX) || \ 921 defined(TARGET_IS_MSP432P4XX_NEXT) 922 #define ROM_GPIO_setAsOutputPin \ 923 ((void (*)(uint_fast8_t selectedPort, \ 924 uint_fast16_t selectedPins))ROM_GPIOTABLE[0]) 925 #endif 926 #if defined(TARGET_IS_MSP432P4XX) || \ 927 defined(TARGET_IS_MSP432P4XX_NEXT) 928 #define ROM_GPIO_setOutputHighOnPin \ 929 ((void (*)(uint_fast8_t selectedPort, \ 930 uint_fast16_t selectedPins))ROM_GPIOTABLE[1]) 931 #endif 932 #if defined(TARGET_IS_MSP432P4XX) || \ 933 defined(TARGET_IS_MSP432P4XX_NEXT) 934 #define ROM_GPIO_setOutputLowOnPin \ 935 ((void (*)(uint_fast8_t selectedPort, \ 936 uint_fast16_t selectedPins))ROM_GPIOTABLE[2]) 937 #endif 938 #if defined(TARGET_IS_MSP432P4XX) || \ 939 defined(TARGET_IS_MSP432P4XX_NEXT) 940 #define ROM_GPIO_toggleOutputOnPin \ 941 ((void (*)(uint_fast8_t selectedPort, \ 942 uint_fast16_t selectedPins))ROM_GPIOTABLE[3]) 943 #endif 944 #if defined(TARGET_IS_MSP432P4XX) || \ 945 defined(TARGET_IS_MSP432P4XX_NEXT) 946 #define ROM_GPIO_setAsInputPinWithPullDownResistor \ 947 ((void (*)(uint_fast8_t selectedPort, \ 948 uint_fast16_t selectedPins))ROM_GPIOTABLE[4]) 949 #endif 950 #if defined(TARGET_IS_MSP432P4XX) || \ 951 defined(TARGET_IS_MSP432P4XX_NEXT) 952 #define ROM_GPIO_setAsInputPinWithPullUpResistor \ 953 ((void (*)(uint_fast8_t selectedPort, \ 954 uint_fast16_t selectedPins))ROM_GPIOTABLE[5]) 955 #endif 956 #if defined(TARGET_IS_MSP432P4XX) || \ 957 defined(TARGET_IS_MSP432P4XX_NEXT) 958 #define ROM_GPIO_setAsPeripheralModuleFunctionOutputPin \ 959 ((void (*)( uint_fast8_t selectedPort, \ 960 uint_fast16_t selectedPins, \ 961 uint_fast8_t mode))ROM_GPIOTABLE[6]) 962 #endif 963 #if defined(TARGET_IS_MSP432P4XX) || \ 964 defined(TARGET_IS_MSP432P4XX_NEXT) 965 #define ROM_GPIO_setAsPeripheralModuleFunctionInputPin \ 966 ((void (*)( uint_fast8_t selectedPort, \ 967 uint_fast16_t selectedPins, \ 968 uint_fast8_t mode))ROM_GPIOTABLE[7]) 969 #endif 970 #if defined(TARGET_IS_MSP432P4XX) || \ 971 defined(TARGET_IS_MSP432P4XX_NEXT) 972 #define ROM_GPIO_getInputPinValue \ 973 ((uint8_t (*)(uint_fast8_t selectedPort, \ 974 uint_fast16_t selectedPins))ROM_GPIOTABLE[8]) 975 #endif 976 #if defined(TARGET_IS_MSP432P4XX) || \ 977 defined(TARGET_IS_MSP432P4XX_NEXT) 978 #define ROM_GPIO_interruptEdgeSelect \ 979 ((void (*)(uint_fast8_t selectedPort, \ 980 uint_fast16_t selectedPins, \ 981 uint_fast8_t edgeSelect))ROM_GPIOTABLE[9]) 982 #endif 983 #if defined(TARGET_IS_MSP432P4XX) || \ 984 defined(TARGET_IS_MSP432P4XX_NEXT) 985 #define ROM_GPIO_enableInterrupt \ 986 ((void (*)(uint_fast8_t selectedPort, \ 987 uint_fast16_t selectedPins))ROM_GPIOTABLE[10]) 988 #endif 989 #if defined(TARGET_IS_MSP432P4XX) || \ 990 defined(TARGET_IS_MSP432P4XX_NEXT) 991 #define ROM_GPIO_disableInterrupt \ 992 ((void (*)(uint_fast8_t selectedPort, \ 993 uint_fast16_t selectedPins))ROM_GPIOTABLE[11]) 994 #endif 995 #if defined(TARGET_IS_MSP432P4XX) || \ 996 defined(TARGET_IS_MSP432P4XX_NEXT) 997 #define ROM_GPIO_getInterruptStatus \ 998 ((uint_fast16_t (*)(uint_fast8_t selectedPort, \ 999 uint_fast16_t selectedPins))ROM_GPIOTABLE[12]) 1000 #endif 1001 #if defined(TARGET_IS_MSP432P4XX) || \ 1002 defined(TARGET_IS_MSP432P4XX_NEXT) 1003 #define ROM_GPIO_clearInterruptFlag \ 1004 ((void (*)(uint_fast8_t selectedPort, \ 1005 uint_fast16_t selectedPins))ROM_GPIOTABLE[13]) 1006 #endif 1007 #if defined(TARGET_IS_MSP432P4XX) || \ 1008 defined(TARGET_IS_MSP432P4XX_NEXT) 1009 #define ROM_GPIO_setAsInputPin \ 1010 ((void (*)(uint_fast8_t selectedPort, \ 1011 uint_fast16_t selectedPins))ROM_GPIOTABLE[14]) 1012 #endif 1013 #if defined(TARGET_IS_MSP432P4XX) || \ 1014 defined(TARGET_IS_MSP432P4XX_NEXT) 1015 #define ROM_GPIO_getEnabledInterruptStatus \ 1016 ((uint_fast16_t (*)(uint_fast8_t selectedPort))ROM_GPIOTABLE[15]) 1017 #endif 1018 #if defined(TARGET_IS_MSP432P4XX) || \ 1019 defined(TARGET_IS_MSP432P4XX_NEXT) 1020 #define ROM_GPIO_setDriveStrengthHigh \ 1021 ((void (*)(uint_fast8_t selectedPort, \ 1022 uint_fast8_t selectedPins))ROM_GPIOTABLE[16]) 1023 #endif 1024 #if defined(TARGET_IS_MSP432P4XX) || \ 1025 defined(TARGET_IS_MSP432P4XX_NEXT) 1026 #define ROM_GPIO_setDriveStrengthLow \ 1027 ((void (*)(uint_fast8_t selectedPort, \ 1028 uint_fast8_t selectedPins))ROM_GPIOTABLE[17]) 1029 #endif 1030 1031 //***************************************************************************** 1032 // 1033 // Macros for calling ROM functions in the I2C API. 1034 // 1035 //***************************************************************************** 1036 #if defined(TARGET_IS_MSP432P4XX) || \ 1037 defined(TARGET_IS_MSP432P4XX_NEXT) 1038 #define ROM_I2C_initMaster \ 1039 ((void (*)(uint32_t moduleInstance, \ 1040 const eUSCI_I2C_MasterConfig *config))ROM_I2CTABLE[0]) 1041 #endif 1042 #if defined(TARGET_IS_MSP432P4XX) || \ 1043 defined(TARGET_IS_MSP432P4XX_NEXT) 1044 #define ROM_I2C_initSlave \ 1045 ((void (*)(uint32_t moduleInstance, \ 1046 uint_fast16_t slaveAddress, \ 1047 uint_fast8_t slaveAddressOffset, \ 1048 uint32_t slaveOwnAddressEnable))ROM_I2CTABLE[1]) 1049 #endif 1050 #if defined(TARGET_IS_MSP432P4XX) || \ 1051 defined(TARGET_IS_MSP432P4XX_NEXT) 1052 #define ROM_I2C_enableModule \ 1053 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[2]) 1054 #endif 1055 #if defined(TARGET_IS_MSP432P4XX) || \ 1056 defined(TARGET_IS_MSP432P4XX_NEXT) 1057 #define ROM_I2C_disableModule \ 1058 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[3]) 1059 #endif 1060 #if defined(TARGET_IS_MSP432P4XX) || \ 1061 defined(TARGET_IS_MSP432P4XX_NEXT) 1062 #define ROM_I2C_setSlaveAddress \ 1063 ((void (*)(uint32_t moduleInstance, \ 1064 uint_fast16_t slaveAddress))ROM_I2CTABLE[4]) 1065 #endif 1066 #if defined(TARGET_IS_MSP432P4XX) || \ 1067 defined(TARGET_IS_MSP432P4XX_NEXT) 1068 #define ROM_I2C_setMode \ 1069 ((void (*)(uint32_t moduleInstance, \ 1070 uint_fast8_t mode))ROM_I2CTABLE[5]) 1071 #endif 1072 #if defined(TARGET_IS_MSP432P4XX) || \ 1073 defined(TARGET_IS_MSP432P4XX_NEXT) 1074 #define ROM_I2C_slavePutData \ 1075 ((void (*)(uint32_t moduleInstance, \ 1076 uint8_t transmitData))ROM_I2CTABLE[6]) 1077 #endif 1078 #if defined(TARGET_IS_MSP432P4XX) || \ 1079 defined(TARGET_IS_MSP432P4XX_NEXT) 1080 #define ROM_I2C_slaveGetData \ 1081 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[7]) 1082 #endif 1083 #if defined(TARGET_IS_MSP432P4XX) || \ 1084 defined(TARGET_IS_MSP432P4XX_NEXT) 1085 #define ROM_I2C_isBusBusy \ 1086 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[8]) 1087 #endif 1088 #if defined(TARGET_IS_MSP432P4XX) || \ 1089 defined(TARGET_IS_MSP432P4XX_NEXT) 1090 #define ROM_I2C_masterSendSingleByte \ 1091 ((void (*)(uint32_t moduleInstance, \ 1092 uint8_t txData))ROM_I2CTABLE[9]) 1093 #endif 1094 #if defined(TARGET_IS_MSP432P4XX) || \ 1095 defined(TARGET_IS_MSP432P4XX_NEXT) 1096 #define ROM_I2C_masterSendMultiByteNext \ 1097 ((void (*)(uint32_t moduleInstance, \ 1098 uint8_t txData))ROM_I2CTABLE[13]) 1099 #endif 1100 #if defined(TARGET_IS_MSP432P4XX) || \ 1101 defined(TARGET_IS_MSP432P4XX_NEXT) 1102 #define ROM_I2C_masterSendMultiByteNextWithTimeout \ 1103 ((bool (*)(uint32_t moduleInstance, \ 1104 uint8_t txData, \ 1105 uint32_t timeout))ROM_I2CTABLE[14]) 1106 #endif 1107 #if defined(TARGET_IS_MSP432P4XX) || \ 1108 defined(TARGET_IS_MSP432P4XX_NEXT) 1109 #define ROM_I2C_masterSendMultiByteStop \ 1110 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[17]) 1111 #endif 1112 #if defined(TARGET_IS_MSP432P4XX) || \ 1113 defined(TARGET_IS_MSP432P4XX_NEXT) 1114 #define ROM_I2C_masterSendMultiByteStopWithTimeout \ 1115 ((bool (*)(uint32_t moduleInstance, \ 1116 uint32_t timeout))ROM_I2CTABLE[18]) 1117 #endif 1118 #if defined(TARGET_IS_MSP432P4XX) || \ 1119 defined(TARGET_IS_MSP432P4XX_NEXT) 1120 #define ROM_I2C_masterReceiveStart \ 1121 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[19]) 1122 #endif 1123 #if defined(TARGET_IS_MSP432P4XX) || \ 1124 defined(TARGET_IS_MSP432P4XX_NEXT) 1125 #define ROM_I2C_masterReceiveMultiByteNext \ 1126 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[20]) 1127 #endif 1128 #if defined(TARGET_IS_MSP432P4XX) || \ 1129 defined(TARGET_IS_MSP432P4XX_NEXT) 1130 #define ROM_I2C_masterReceiveMultiByteFinish \ 1131 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[21]) 1132 #endif 1133 #if defined(TARGET_IS_MSP432P4XX) || \ 1134 defined(TARGET_IS_MSP432P4XX_NEXT) 1135 #define ROM_I2C_masterReceiveMultiByteFinishWithTimeout \ 1136 ((bool (*)(uint32_t moduleInstance, \ 1137 uint8_t *txData, \ 1138 uint32_t timeout))ROM_I2CTABLE[22]) 1139 #endif 1140 #if defined(TARGET_IS_MSP432P4XX) || \ 1141 defined(TARGET_IS_MSP432P4XX_NEXT) 1142 #define ROM_I2C_masterReceiveMultiByteStop \ 1143 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[23]) 1144 #endif 1145 #if defined(TARGET_IS_MSP432P4XX) || \ 1146 defined(TARGET_IS_MSP432P4XX_NEXT) 1147 #define ROM_I2C_masterReceiveSingle \ 1148 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[25]) 1149 #endif 1150 #if defined(TARGET_IS_MSP432P4XX) || \ 1151 defined(TARGET_IS_MSP432P4XX_NEXT) 1152 #define ROM_I2C_getReceiveBufferAddressForDMA \ 1153 ((uint32_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[26]) 1154 #endif 1155 #if defined(TARGET_IS_MSP432P4XX) || \ 1156 defined(TARGET_IS_MSP432P4XX_NEXT) 1157 #define ROM_I2C_getTransmitBufferAddressForDMA \ 1158 ((uint32_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[27]) 1159 #endif 1160 #if defined(TARGET_IS_MSP432P4XX) || \ 1161 defined(TARGET_IS_MSP432P4XX_NEXT) 1162 #define ROM_I2C_masterIsStopSent \ 1163 ((uint8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[28]) 1164 #endif 1165 #if defined(TARGET_IS_MSP432P4XX) || \ 1166 defined(TARGET_IS_MSP432P4XX_NEXT) 1167 #define ROM_I2C_masterIsStartSent \ 1168 ((bool (*)(uint32_t moduleInstance))ROM_I2CTABLE[29]) 1169 #endif 1170 #if defined(TARGET_IS_MSP432P4XX) || \ 1171 defined(TARGET_IS_MSP432P4XX_NEXT) 1172 #define ROM_I2C_masterSendStart \ 1173 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[30]) 1174 #endif 1175 #if defined(TARGET_IS_MSP432P4XX) || \ 1176 defined(TARGET_IS_MSP432P4XX_NEXT) 1177 #define ROM_I2C_enableMultiMasterMode \ 1178 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[31]) 1179 #endif 1180 #if defined(TARGET_IS_MSP432P4XX) || \ 1181 defined(TARGET_IS_MSP432P4XX_NEXT) 1182 #define ROM_I2C_disableMultiMasterMode \ 1183 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[32]) 1184 #endif 1185 #if defined(TARGET_IS_MSP432P4XX) || \ 1186 defined(TARGET_IS_MSP432P4XX_NEXT) 1187 #define ROM_I2C_enableInterrupt \ 1188 ((void (*)(uint32_t moduleInstance, \ 1189 uint_fast16_t mask))ROM_I2CTABLE[33]) 1190 #endif 1191 #if defined(TARGET_IS_MSP432P4XX) || \ 1192 defined(TARGET_IS_MSP432P4XX_NEXT) 1193 #define ROM_I2C_disableInterrupt \ 1194 ((void (*)(uint32_t moduleInstance, \ 1195 uint_fast16_t mask))ROM_I2CTABLE[34]) 1196 #endif 1197 #if defined(TARGET_IS_MSP432P4XX) || \ 1198 defined(TARGET_IS_MSP432P4XX_NEXT) 1199 #define ROM_I2C_clearInterruptFlag \ 1200 ((void (*)(uint32_t moduleInstance, \ 1201 uint_fast16_t mask))ROM_I2CTABLE[35]) 1202 #endif 1203 #if defined(TARGET_IS_MSP432P4XX) || \ 1204 defined(TARGET_IS_MSP432P4XX_NEXT) 1205 #define ROM_I2C_getInterruptStatus \ 1206 ((uint_fast16_t (*)(uint32_t moduleInstance, \ 1207 uint16_t mask))ROM_I2CTABLE[36]) 1208 #endif 1209 #if defined(TARGET_IS_MSP432P4XX) || \ 1210 defined(TARGET_IS_MSP432P4XX_NEXT) 1211 #define ROM_I2C_getEnabledInterruptStatus \ 1212 ((uint_fast16_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[37]) 1213 #endif 1214 #if defined(TARGET_IS_MSP432P4XX) || \ 1215 defined(TARGET_IS_MSP432P4XX_NEXT) 1216 #define ROM_I2C_getMode \ 1217 ((uint_fast8_t (*)(uint32_t moduleInstance))ROM_I2CTABLE[38]) 1218 #endif 1219 #if defined(TARGET_IS_MSP432P4XX_NEXT) 1220 #define ROM_I2C_slaveSendNAK \ 1221 ((void (*)(uint32_t moduleInstance))ROM_I2CTABLE[41]) 1222 #endif 1223 1224 //***************************************************************************** 1225 // 1226 // Macros for calling ROM functions in the Interrupt API. 1227 // 1228 //***************************************************************************** 1229 #if defined(TARGET_IS_MSP432P4XX) || \ 1230 defined(TARGET_IS_MSP432P4XX_NEXT) 1231 #define ROM_Interrupt_enableMaster \ 1232 ((bool (*)(void))ROM_INTTABLE[0]) 1233 #endif 1234 #if defined(TARGET_IS_MSP432P4XX) || \ 1235 defined(TARGET_IS_MSP432P4XX_NEXT) 1236 #define ROM_Interrupt_disableMaster \ 1237 ((bool (*)(void))ROM_INTTABLE[1]) 1238 #endif 1239 #if defined(TARGET_IS_MSP432P4XX) || \ 1240 defined(TARGET_IS_MSP432P4XX_NEXT) 1241 #define ROM_Interrupt_getPriorityGrouping \ 1242 ((uint32_t (*)(void))ROM_INTTABLE[3]) 1243 #endif 1244 #if defined(TARGET_IS_MSP432P4XX) || \ 1245 defined(TARGET_IS_MSP432P4XX_NEXT) 1246 #define ROM_Interrupt_setPriority \ 1247 ((void (*)(uint32_t interruptNumber, \ 1248 uint8_t priority))ROM_INTTABLE[4]) 1249 #endif 1250 #if defined(TARGET_IS_MSP432P4XX) || \ 1251 defined(TARGET_IS_MSP432P4XX_NEXT) 1252 #define ROM_Interrupt_getPriority \ 1253 ((uint8_t (*)(uint32_t interruptNumber))ROM_INTTABLE[5]) 1254 #endif 1255 #if defined(TARGET_IS_MSP432P4XX) || \ 1256 defined(TARGET_IS_MSP432P4XX_NEXT) 1257 #define ROM_Interrupt_enableInterrupt \ 1258 ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[6]) 1259 #endif 1260 #if defined(TARGET_IS_MSP432P4XX) || \ 1261 defined(TARGET_IS_MSP432P4XX_NEXT) 1262 #define ROM_Interrupt_disableInterrupt \ 1263 ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[7]) 1264 #endif 1265 #if defined(TARGET_IS_MSP432P4XX) || \ 1266 defined(TARGET_IS_MSP432P4XX_NEXT) 1267 #define ROM_Interrupt_isEnabled \ 1268 ((bool (*)(uint32_t interruptNumber))ROM_INTTABLE[8]) 1269 #endif 1270 #if defined(TARGET_IS_MSP432P4XX) || \ 1271 defined(TARGET_IS_MSP432P4XX_NEXT) 1272 #define ROM_Interrupt_pendInterrupt \ 1273 ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[9]) 1274 #endif 1275 #if defined(TARGET_IS_MSP432P4XX) || \ 1276 defined(TARGET_IS_MSP432P4XX_NEXT) 1277 #define ROM_Interrupt_setPriorityMask \ 1278 ((void (*)(uint8_t priorityMask))ROM_INTTABLE[10]) 1279 #endif 1280 #if defined(TARGET_IS_MSP432P4XX) || \ 1281 defined(TARGET_IS_MSP432P4XX_NEXT) 1282 #define ROM_Interrupt_getPriorityMask \ 1283 ((uint8_t (*)(void))ROM_INTTABLE[11]) 1284 #endif 1285 #if defined(TARGET_IS_MSP432P4XX) || \ 1286 defined(TARGET_IS_MSP432P4XX_NEXT) 1287 #define ROM_Interrupt_setVectorTableAddress \ 1288 ((void (*)(uint32_t addr))ROM_INTTABLE[12]) 1289 #endif 1290 #if defined(TARGET_IS_MSP432P4XX) || \ 1291 defined(TARGET_IS_MSP432P4XX_NEXT) 1292 #define ROM_Interrupt_getVectorTableAddress \ 1293 ((uint32_t (*)(void))ROM_INTTABLE[13]) 1294 #endif 1295 #if defined(TARGET_IS_MSP432P4XX) || \ 1296 defined(TARGET_IS_MSP432P4XX_NEXT) 1297 #define ROM_Interrupt_enableSleepOnIsrExit \ 1298 ((void (*)(void))ROM_INTTABLE[14]) 1299 #endif 1300 #if defined(TARGET_IS_MSP432P4XX) || \ 1301 defined(TARGET_IS_MSP432P4XX_NEXT) 1302 #define ROM_Interrupt_disableSleepOnIsrExit \ 1303 ((void (*)(void))ROM_INTTABLE[15]) 1304 #endif 1305 #if defined(TARGET_IS_MSP432P4XX) || \ 1306 defined(TARGET_IS_MSP432P4XX_NEXT) 1307 #define ROM_Interrupt_unpendInterrupt \ 1308 ((void (*)(uint32_t interruptNumber))ROM_INTTABLE[18]) 1309 #endif 1310 1311 //***************************************************************************** 1312 // 1313 // Macros for calling ROM functions in the MPU API. 1314 // 1315 //***************************************************************************** 1316 #if defined(TARGET_IS_MSP432P4XX) || \ 1317 defined(TARGET_IS_MSP432P4XX_NEXT) 1318 #define ROM_MPU_enableModule \ 1319 ((void (*)(uint32_t mpuConfig))ROM_MPUTABLE[0]) 1320 #endif 1321 #if defined(TARGET_IS_MSP432P4XX) || \ 1322 defined(TARGET_IS_MSP432P4XX_NEXT) 1323 #define ROM_MPU_disableModule \ 1324 ((void (*)(void))ROM_MPUTABLE[1]) 1325 #endif 1326 #if defined(TARGET_IS_MSP432P4XX) || \ 1327 defined(TARGET_IS_MSP432P4XX_NEXT) 1328 #define ROM_MPU_getRegionCount \ 1329 ((uint32_t (*)(void))ROM_MPUTABLE[2]) 1330 #endif 1331 #if defined(TARGET_IS_MSP432P4XX) || \ 1332 defined(TARGET_IS_MSP432P4XX_NEXT) 1333 #define ROM_MPU_enableRegion \ 1334 ((void (*)(uint32_t region))ROM_MPUTABLE[3]) 1335 #endif 1336 #if defined(TARGET_IS_MSP432P4XX) || \ 1337 defined(TARGET_IS_MSP432P4XX_NEXT) 1338 #define ROM_MPU_disableRegion \ 1339 ((void (*)(uint32_t region))ROM_MPUTABLE[4]) 1340 #endif 1341 #if defined(TARGET_IS_MSP432P4XX) || \ 1342 defined(TARGET_IS_MSP432P4XX_NEXT) 1343 #define ROM_MPU_setRegion \ 1344 ((void (*)(uint32_t region, \ 1345 uint32_t addr, \ 1346 uint32_t flags))ROM_MPUTABLE[5]) 1347 #endif 1348 #if defined(TARGET_IS_MSP432P4XX) || \ 1349 defined(TARGET_IS_MSP432P4XX_NEXT) 1350 #define ROM_MPU_getRegion \ 1351 ((void (*)(uint32_t region, \ 1352 uint32_t *addr, \ 1353 uint32_t *pflags))ROM_MPUTABLE[6]) 1354 #endif 1355 #if defined(TARGET_IS_MSP432P4XX) || \ 1356 defined(TARGET_IS_MSP432P4XX_NEXT) 1357 #define ROM_MPU_enableInterrupt \ 1358 ((void (*)(void))ROM_MPUTABLE[7]) 1359 #endif 1360 #if defined(TARGET_IS_MSP432P4XX) || \ 1361 defined(TARGET_IS_MSP432P4XX_NEXT) 1362 #define ROM_MPU_disableInterrupt \ 1363 ((void (*)(void))ROM_MPUTABLE[8]) 1364 #endif 1365 1366 //***************************************************************************** 1367 // 1368 // Macros for calling ROM functions in the PCM API. 1369 // 1370 //***************************************************************************** 1371 #if defined(TARGET_IS_MSP432P4XX) 1372 #define ROM_PCM_setCoreVoltageLevel \ 1373 ((bool (*)(uint_fast8_t voltageLevel))ROM_PCMTABLE[0]) 1374 #endif 1375 #if defined(TARGET_IS_MSP432P4XX) 1376 #define ROM_PCM_getCoreVoltageLevel \ 1377 ((uint8_t (*)(void))ROM_PCMTABLE[1]) 1378 #endif 1379 #if defined(TARGET_IS_MSP432P4XX) 1380 #define ROM_PCM_setCoreVoltageLevelWithTimeout \ 1381 ((bool (*)(uint_fast8_t voltageLevel, \ 1382 uint32_t timeOut))ROM_PCMTABLE[2]) 1383 #endif 1384 #if defined(TARGET_IS_MSP432P4XX) 1385 #define ROM_PCM_setPowerMode \ 1386 ((bool (*)(uint_fast8_t powerMode))ROM_PCMTABLE[3]) 1387 #endif 1388 #if defined(TARGET_IS_MSP432P4XX) 1389 #define ROM_PCM_setPowerModeWithTimeout \ 1390 ((bool (*)(uint_fast8_t powerMode, \ 1391 uint32_t timeOut))ROM_PCMTABLE[4]) 1392 #endif 1393 #if defined(TARGET_IS_MSP432P4XX) 1394 #define ROM_PCM_getPowerMode \ 1395 ((uint8_t (*)(void))ROM_PCMTABLE[5]) 1396 #endif 1397 #if defined(TARGET_IS_MSP432P4XX) 1398 #define ROM_PCM_setPowerState \ 1399 ((bool (*)(uint_fast8_t powerState))ROM_PCMTABLE[6]) 1400 #endif 1401 #if defined(TARGET_IS_MSP432P4XX) 1402 #define ROM_PCM_setPowerStateWithTimeout \ 1403 ((bool (*)(uint_fast8_t powerState, \ 1404 uint32_t timeout))ROM_PCMTABLE[7]) 1405 #endif 1406 #if defined(TARGET_IS_MSP432P4XX) 1407 #define ROM_PCM_getPowerState \ 1408 ((uint8_t (*)(void))ROM_PCMTABLE[8]) 1409 #endif 1410 #if defined(TARGET_IS_MSP432P4XX) || \ 1411 defined(TARGET_IS_MSP432P4XX_NEXT) 1412 #define ROM_PCM_shutdownDevice \ 1413 ((bool (*)(uint32_t shutdownMode))ROM_PCMTABLE[9]) 1414 #endif 1415 #if defined(TARGET_IS_MSP432P4XX) || \ 1416 defined(TARGET_IS_MSP432P4XX_NEXT) 1417 #define ROM_PCM_gotoLPM0 \ 1418 ((bool (*)(void))ROM_PCMTABLE[10]) 1419 #endif 1420 #if defined(TARGET_IS_MSP432P4XX) 1421 #define ROM_PCM_gotoLPM3 \ 1422 ((bool (*)(void))ROM_PCMTABLE[11]) 1423 #endif 1424 #if defined(TARGET_IS_MSP432P4XX) || \ 1425 defined(TARGET_IS_MSP432P4XX_NEXT) 1426 #define ROM_PCM_enableInterrupt \ 1427 ((void (*)(uint32_t flags))ROM_PCMTABLE[12]) 1428 #endif 1429 #if defined(TARGET_IS_MSP432P4XX) || \ 1430 defined(TARGET_IS_MSP432P4XX_NEXT) 1431 #define ROM_PCM_disableInterrupt \ 1432 ((void (*)(uint32_t flags))ROM_PCMTABLE[13]) 1433 #endif 1434 #if defined(TARGET_IS_MSP432P4XX) || \ 1435 defined(TARGET_IS_MSP432P4XX_NEXT) 1436 #define ROM_PCM_getInterruptStatus \ 1437 ((uint32_t (*)(void))ROM_PCMTABLE[14]) 1438 #endif 1439 #if defined(TARGET_IS_MSP432P4XX) || \ 1440 defined(TARGET_IS_MSP432P4XX_NEXT) 1441 #define ROM_PCM_getEnabledInterruptStatus \ 1442 ((uint32_t (*)(void))ROM_PCMTABLE[15]) 1443 #endif 1444 #if defined(TARGET_IS_MSP432P4XX) || \ 1445 defined(TARGET_IS_MSP432P4XX_NEXT) 1446 #define ROM_PCM_clearInterruptFlag \ 1447 ((void (*)(uint32_t flags))ROM_PCMTABLE[16]) 1448 #endif 1449 #if defined(TARGET_IS_MSP432P4XX) || \ 1450 defined(TARGET_IS_MSP432P4XX_NEXT) 1451 #define ROM_PCM_enableRudeMode \ 1452 ((void (*)(void))ROM_PCMTABLE[17]) 1453 #endif 1454 #if defined(TARGET_IS_MSP432P4XX) || \ 1455 defined(TARGET_IS_MSP432P4XX_NEXT) 1456 #define ROM_PCM_disableRudeMode \ 1457 ((void (*)(void))ROM_PCMTABLE[18]) 1458 #endif 1459 #if defined(TARGET_IS_MSP432P4XX) || \ 1460 defined(TARGET_IS_MSP432P4XX_NEXT) 1461 #define ROM_PCM_gotoLPM0InterruptSafe \ 1462 ((bool (*)(void))ROM_PCMTABLE[19]) 1463 #endif 1464 #if defined(TARGET_IS_MSP432P4XX) 1465 #define ROM_PCM_gotoLPM3InterruptSafe \ 1466 ((bool (*)(void))ROM_PCMTABLE[20]) 1467 #endif 1468 #if defined(TARGET_IS_MSP432P4XX) 1469 #define ROM_PCM_setCoreVoltageLevelNonBlocking \ 1470 ((bool (*)(uint_fast8_t voltageLevel))ROM_PCMTABLE[23]) 1471 #endif 1472 #if defined(TARGET_IS_MSP432P4XX) 1473 #define ROM_PCM_setPowerModeNonBlocking \ 1474 ((bool (*)(uint_fast8_t powerMode))ROM_PCMTABLE[24]) 1475 #endif 1476 #if defined(TARGET_IS_MSP432P4XX) 1477 #define ROM_PCM_setPowerStateNonBlocking \ 1478 ((bool (*)(uint_fast8_t powerState))ROM_PCMTABLE[25]) 1479 #endif 1480 #if defined(TARGET_IS_MSP432P4XX) 1481 #define ROM_PCM_gotoLPM4 \ 1482 ((bool (*)(void))ROM_PCMTABLE[26]) 1483 #endif 1484 #if defined(TARGET_IS_MSP432P4XX) 1485 #define ROM_PCM_gotoLPM4InterruptSafe \ 1486 ((bool (*)(void))ROM_PCMTABLE[27]) 1487 #endif 1488 1489 //***************************************************************************** 1490 // 1491 // Macros for calling ROM functions in the PMAP API. 1492 // 1493 //***************************************************************************** 1494 #if defined(TARGET_IS_MSP432P4XX) || \ 1495 defined(TARGET_IS_MSP432P4XX_NEXT) 1496 #define ROM_PMAP_configurePorts \ 1497 ((void (*)(const uint8_t *portMapping, \ 1498 uint8_t pxMAPy, \ 1499 uint8_t numberOfPorts, \ 1500 uint8_t portMapReconfigure))ROM_PMAPTABLE[0]) 1501 #endif 1502 1503 //***************************************************************************** 1504 // 1505 // Macros for calling ROM functions in the PSS API. 1506 // 1507 //***************************************************************************** 1508 #if defined(TARGET_IS_MSP432P4XX) || \ 1509 defined(TARGET_IS_MSP432P4XX_NEXT) 1510 #define ROM_PSS_enableHighSidePinToggle \ 1511 ((void (*)(bool activeLow))ROM_PSSTABLE[0]) 1512 #endif 1513 #if defined(TARGET_IS_MSP432P4XX) || \ 1514 defined(TARGET_IS_MSP432P4XX_NEXT) 1515 #define ROM_PSS_disableHighSidePinToggle \ 1516 ((void (*)(void))ROM_PSSTABLE[1]) 1517 #endif 1518 #if defined(TARGET_IS_MSP432P4XX) || \ 1519 defined(TARGET_IS_MSP432P4XX_NEXT) 1520 #define ROM_PSS_enableHighSide \ 1521 ((void (*)(void))ROM_PSSTABLE[2]) 1522 #endif 1523 #if defined(TARGET_IS_MSP432P4XX) || \ 1524 defined(TARGET_IS_MSP432P4XX_NEXT) 1525 #define ROM_PSS_disableHighSide \ 1526 ((void (*)(void))ROM_PSSTABLE[3]) 1527 #endif 1528 #if defined(TARGET_IS_MSP432P4XX) || \ 1529 defined(TARGET_IS_MSP432P4XX_NEXT) 1530 #define ROM_PSS_setHighSidePerformanceMode \ 1531 ((void (*)(uint_fast8_t powerMode))ROM_PSSTABLE[6]) 1532 #endif 1533 #if defined(TARGET_IS_MSP432P4XX) || \ 1534 defined(TARGET_IS_MSP432P4XX_NEXT) 1535 #define ROM_PSS_getHighSidePerformanceMode \ 1536 ((uint_fast8_t (*)(void))ROM_PSSTABLE[7]) 1537 #endif 1538 #if defined(TARGET_IS_MSP432P4XX) || \ 1539 defined(TARGET_IS_MSP432P4XX_NEXT) 1540 #define ROM_PSS_enableHighSideMonitor \ 1541 ((void (*)(void))ROM_PSSTABLE[10]) 1542 #endif 1543 #if defined(TARGET_IS_MSP432P4XX) || \ 1544 defined(TARGET_IS_MSP432P4XX_NEXT) 1545 #define ROM_PSS_disableHighSideMonitor \ 1546 ((void (*)(void))ROM_PSSTABLE[11]) 1547 #endif 1548 #if defined(TARGET_IS_MSP432P4XX) || \ 1549 defined(TARGET_IS_MSP432P4XX_NEXT) 1550 #define ROM_PSS_setHighSideVoltageTrigger \ 1551 ((void (*)(uint_fast8_t triggerVoltage))ROM_PSSTABLE[12]) 1552 #endif 1553 #if defined(TARGET_IS_MSP432P4XX) || \ 1554 defined(TARGET_IS_MSP432P4XX_NEXT) 1555 #define ROM_PSS_getHighSideVoltageTrigger \ 1556 ((uint_fast8_t (*)(void))ROM_PSSTABLE[13]) 1557 #endif 1558 #if defined(TARGET_IS_MSP432P4XX) || \ 1559 defined(TARGET_IS_MSP432P4XX_NEXT) 1560 #define ROM_PSS_enableInterrupt \ 1561 ((void (*)(void))ROM_PSSTABLE[14]) 1562 #endif 1563 #if defined(TARGET_IS_MSP432P4XX) || \ 1564 defined(TARGET_IS_MSP432P4XX_NEXT) 1565 #define ROM_PSS_disableInterrupt \ 1566 ((void (*)(void))ROM_PSSTABLE[15]) 1567 #endif 1568 #if defined(TARGET_IS_MSP432P4XX) || \ 1569 defined(TARGET_IS_MSP432P4XX_NEXT) 1570 #define ROM_PSS_getInterruptStatus \ 1571 ((uint32_t (*)(void))ROM_PSSTABLE[16]) 1572 #endif 1573 #if defined(TARGET_IS_MSP432P4XX) || \ 1574 defined(TARGET_IS_MSP432P4XX_NEXT) 1575 #define ROM_PSS_enableForcedDCDCOperation \ 1576 ((void (*)(void))ROM_PSSTABLE[20]) 1577 #endif 1578 #if defined(TARGET_IS_MSP432P4XX) || \ 1579 defined(TARGET_IS_MSP432P4XX_NEXT) 1580 #define ROM_PSS_disableForcedDCDCOperation \ 1581 ((void (*)(void))ROM_PSSTABLE[21]) 1582 #endif 1583 1584 //***************************************************************************** 1585 // 1586 // Macros for calling ROM functions in the Ref API. 1587 // 1588 //***************************************************************************** 1589 #if defined(TARGET_IS_MSP432P4XX) || \ 1590 defined(TARGET_IS_MSP432P4XX_NEXT) 1591 #define ROM_REF_A_setReferenceVoltage \ 1592 ((void (*)(uint_fast8_t referenceVoltageSelect))ROM_REFTABLE[0]) 1593 #endif 1594 #if defined(TARGET_IS_MSP432P4XX) || \ 1595 defined(TARGET_IS_MSP432P4XX_NEXT) 1596 #define ROM_REF_A_disableTempSensor \ 1597 ((void (*)(void))ROM_REFTABLE[1]) 1598 #endif 1599 #if defined(TARGET_IS_MSP432P4XX) || \ 1600 defined(TARGET_IS_MSP432P4XX_NEXT) 1601 #define ROM_REF_A_enableTempSensor \ 1602 ((void (*)(void))ROM_REFTABLE[2]) 1603 #endif 1604 #if defined(TARGET_IS_MSP432P4XX) || \ 1605 defined(TARGET_IS_MSP432P4XX_NEXT) 1606 #define ROM_REF_A_enableReferenceVoltageOutput \ 1607 ((void (*)(void))ROM_REFTABLE[3]) 1608 #endif 1609 #if defined(TARGET_IS_MSP432P4XX) || \ 1610 defined(TARGET_IS_MSP432P4XX_NEXT) 1611 #define ROM_REF_A_disableReferenceVoltageOutput \ 1612 ((void (*)(void))ROM_REFTABLE[4]) 1613 #endif 1614 #if defined(TARGET_IS_MSP432P4XX) || \ 1615 defined(TARGET_IS_MSP432P4XX_NEXT) 1616 #define ROM_REF_A_enableReferenceVoltage \ 1617 ((void (*)(void))ROM_REFTABLE[5]) 1618 #endif 1619 #if defined(TARGET_IS_MSP432P4XX) || \ 1620 defined(TARGET_IS_MSP432P4XX_NEXT) 1621 #define ROM_REF_A_disableReferenceVoltage \ 1622 ((void (*)(void))ROM_REFTABLE[6]) 1623 #endif 1624 #if defined(TARGET_IS_MSP432P4XX) || \ 1625 defined(TARGET_IS_MSP432P4XX_NEXT) 1626 #define ROM_REF_A_getBandgapMode \ 1627 ((uint_fast8_t (*)(void))ROM_REFTABLE[7]) 1628 #endif 1629 #if defined(TARGET_IS_MSP432P4XX) || \ 1630 defined(TARGET_IS_MSP432P4XX_NEXT) 1631 #define ROM_REF_A_isBandgapActive \ 1632 ((bool (*)(void))ROM_REFTABLE[8]) 1633 #endif 1634 #if defined(TARGET_IS_MSP432P4XX) || \ 1635 defined(TARGET_IS_MSP432P4XX_NEXT) 1636 #define ROM_REF_A_isRefGenBusy \ 1637 ((bool (*)(void))ROM_REFTABLE[9]) 1638 #endif 1639 #if defined(TARGET_IS_MSP432P4XX) || \ 1640 defined(TARGET_IS_MSP432P4XX_NEXT) 1641 #define ROM_REF_A_isRefGenActive \ 1642 ((bool (*)(void))ROM_REFTABLE[10]) 1643 #endif 1644 #if defined(TARGET_IS_MSP432P4XX) || \ 1645 defined(TARGET_IS_MSP432P4XX_NEXT) 1646 #define ROM_REF_A_getBufferedBandgapVoltageStatus \ 1647 ((bool (*)(void))ROM_REFTABLE[11]) 1648 #endif 1649 #if defined(TARGET_IS_MSP432P4XX) || \ 1650 defined(TARGET_IS_MSP432P4XX_NEXT) 1651 #define ROM_REF_A_getVariableReferenceVoltageStatus \ 1652 ((bool (*)(void))ROM_REFTABLE[12]) 1653 #endif 1654 #if defined(TARGET_IS_MSP432P4XX) || \ 1655 defined(TARGET_IS_MSP432P4XX_NEXT) 1656 #define ROM_REF_A_setReferenceVoltageOneTimeTrigger \ 1657 ((void (*)(void))ROM_REFTABLE[13]) 1658 #endif 1659 #if defined(TARGET_IS_MSP432P4XX) || \ 1660 defined(TARGET_IS_MSP432P4XX_NEXT) 1661 #define ROM_REF_A_setBufferedBandgapVoltageOneTimeTrigger \ 1662 ((void (*)(void))ROM_REFTABLE[14]) 1663 #endif 1664 1665 //***************************************************************************** 1666 // 1667 // Macros for calling ROM functions in the ResetCtl API. 1668 // 1669 //***************************************************************************** 1670 #if defined(TARGET_IS_MSP432P4XX) || \ 1671 defined(TARGET_IS_MSP432P4XX_NEXT) 1672 #define ROM_ResetCtl_initiateSoftReset \ 1673 ((void (*)(void))ROM_RESETCTLTABLE[0]) 1674 #endif 1675 #if defined(TARGET_IS_MSP432P4XX) || \ 1676 defined(TARGET_IS_MSP432P4XX_NEXT) 1677 #define ROM_ResetCtl_initiateSoftResetWithSource \ 1678 ((void (*)(uint32_t source))ROM_RESETCTLTABLE[1]) 1679 #endif 1680 #if defined(TARGET_IS_MSP432P4XX) || \ 1681 defined(TARGET_IS_MSP432P4XX_NEXT) 1682 #define ROM_ResetCtl_getSoftResetSource \ 1683 ((uint32_t (*)(void))ROM_RESETCTLTABLE[2]) 1684 #endif 1685 #if defined(TARGET_IS_MSP432P4XX) || \ 1686 defined(TARGET_IS_MSP432P4XX_NEXT) 1687 #define ROM_ResetCtl_clearSoftResetSource \ 1688 ((void (*)(uint32_t mask))ROM_RESETCTLTABLE[3]) 1689 #endif 1690 #if defined(TARGET_IS_MSP432P4XX) || \ 1691 defined(TARGET_IS_MSP432P4XX_NEXT) 1692 #define ROM_ResetCtl_initiateHardReset \ 1693 ((void (*)(void))ROM_RESETCTLTABLE[4]) 1694 #endif 1695 #if defined(TARGET_IS_MSP432P4XX) || \ 1696 defined(TARGET_IS_MSP432P4XX_NEXT) 1697 #define ROM_ResetCtl_initiateHardResetWithSource \ 1698 ((void (*)(uint32_t source))ROM_RESETCTLTABLE[5]) 1699 #endif 1700 #if defined(TARGET_IS_MSP432P4XX) || \ 1701 defined(TARGET_IS_MSP432P4XX_NEXT) 1702 #define ROM_ResetCtl_getHardResetSource \ 1703 ((uint32_t (*)(void))ROM_RESETCTLTABLE[6]) 1704 #endif 1705 #if defined(TARGET_IS_MSP432P4XX) || \ 1706 defined(TARGET_IS_MSP432P4XX_NEXT) 1707 #define ROM_ResetCtl_clearHardResetSource \ 1708 ((void (*)(uint32_t mask))ROM_RESETCTLTABLE[7]) 1709 #endif 1710 #if defined(TARGET_IS_MSP432P4XX) || \ 1711 defined(TARGET_IS_MSP432P4XX_NEXT) 1712 #define ROM_ResetCtl_getPSSSource \ 1713 ((uint32_t (*)(void))ROM_RESETCTLTABLE[8]) 1714 #endif 1715 #if defined(TARGET_IS_MSP432P4XX) || \ 1716 defined(TARGET_IS_MSP432P4XX_NEXT) 1717 #define ROM_ResetCtl_clearPSSFlags \ 1718 ((void (*)(void))ROM_RESETCTLTABLE[9]) 1719 #endif 1720 #if defined(TARGET_IS_MSP432P4XX) || \ 1721 defined(TARGET_IS_MSP432P4XX_NEXT) 1722 #define ROM_ResetCtl_getPCMSource \ 1723 ((uint32_t (*)(void))ROM_RESETCTLTABLE[10]) 1724 #endif 1725 #if defined(TARGET_IS_MSP432P4XX) || \ 1726 defined(TARGET_IS_MSP432P4XX_NEXT) 1727 #define ROM_ResetCtl_clearPCMFlags \ 1728 ((void (*)(void))ROM_RESETCTLTABLE[11]) 1729 #endif 1730 1731 //***************************************************************************** 1732 // 1733 // Macros for calling ROM functions in the RTC API. 1734 // 1735 //***************************************************************************** 1736 #if defined(TARGET_IS_MSP432P4XX) || \ 1737 defined(TARGET_IS_MSP432P4XX_NEXT) 1738 #define ROM_RTC_C_startClock \ 1739 ((void (*)(void))ROM_RTCTABLE[0]) 1740 #endif 1741 #if defined(TARGET_IS_MSP432P4XX) || \ 1742 defined(TARGET_IS_MSP432P4XX_NEXT) 1743 #define ROM_RTC_C_holdClock \ 1744 ((void (*)(void))ROM_RTCTABLE[1]) 1745 #endif 1746 #if defined(TARGET_IS_MSP432P4XX) || \ 1747 defined(TARGET_IS_MSP432P4XX_NEXT) 1748 #define ROM_RTC_C_setCalibrationFrequency \ 1749 ((void (*)(uint_fast16_t frequencySelect))ROM_RTCTABLE[2]) 1750 #endif 1751 #if defined(TARGET_IS_MSP432P4XX) || \ 1752 defined(TARGET_IS_MSP432P4XX_NEXT) 1753 #define ROM_RTC_C_setCalibrationData \ 1754 ((void (*)(uint_fast8_t offsetDirection, \ 1755 uint_fast8_t offsetValue))ROM_RTCTABLE[3]) 1756 #endif 1757 #if defined(TARGET_IS_MSP432P4XX) || \ 1758 defined(TARGET_IS_MSP432P4XX_NEXT) 1759 #define ROM_RTC_C_setTemperatureCompensation \ 1760 ((bool (*)(uint_fast16_t offsetDirection, \ 1761 uint_fast8_t offsetValue))ROM_RTCTABLE[4]) 1762 #endif 1763 #if defined(TARGET_IS_MSP432P4XX) || \ 1764 defined(TARGET_IS_MSP432P4XX_NEXT) 1765 #define ROM_RTC_C_initCalendar \ 1766 ((void (*)(const RTC_C_Calendar *calendarTime, \ 1767 uint_fast16_t formatSelect))ROM_RTCTABLE[5]) 1768 #endif 1769 #if defined(TARGET_IS_MSP432P4XX) || \ 1770 defined(TARGET_IS_MSP432P4XX_NEXT) 1771 #define ROM_RTC_C_setCalendarAlarm \ 1772 ((void (*)(uint_fast8_t minutesAlarm, \ 1773 uint_fast8_t hoursAlarm, \ 1774 uint_fast8_t dayOfWeekAlarm, \ 1775 uint_fast8_t dayOfmonthAlarm))ROM_RTCTABLE[7]) 1776 #endif 1777 #if defined(TARGET_IS_MSP432P4XX) || \ 1778 defined(TARGET_IS_MSP432P4XX_NEXT) 1779 #define ROM_RTC_C_setCalendarEvent \ 1780 ((void (*)(uint_fast16_t eventSelect))ROM_RTCTABLE[8]) 1781 #endif 1782 #if defined(TARGET_IS_MSP432P4XX) || \ 1783 defined(TARGET_IS_MSP432P4XX_NEXT) 1784 #define ROM_RTC_C_getPrescaleValue \ 1785 ((uint_fast8_t (*)(uint_fast8_t prescaleSelect))ROM_RTCTABLE[10]) 1786 #endif 1787 #if defined(TARGET_IS_MSP432P4XX) || \ 1788 defined(TARGET_IS_MSP432P4XX_NEXT) 1789 #define ROM_RTC_C_setPrescaleValue \ 1790 ((void (*)(uint_fast8_t prescaleSelect, \ 1791 uint_fast8_t prescaleCounterValue))ROM_RTCTABLE[11]) 1792 #endif 1793 #if defined(TARGET_IS_MSP432P4XX) || \ 1794 defined(TARGET_IS_MSP432P4XX_NEXT) 1795 #define ROM_RTC_C_convertBCDToBinary \ 1796 ((uint16_t (*)(uint16_t valueToConvert))ROM_RTCTABLE[12]) 1797 #endif 1798 #if defined(TARGET_IS_MSP432P4XX) || \ 1799 defined(TARGET_IS_MSP432P4XX_NEXT) 1800 #define ROM_RTC_C_convertBinaryToBCD \ 1801 ((uint16_t (*)(uint16_t valueToConvert))ROM_RTCTABLE[13]) 1802 #endif 1803 #if defined(TARGET_IS_MSP432P4XX) || \ 1804 defined(TARGET_IS_MSP432P4XX_NEXT) 1805 #define ROM_RTC_C_getInterruptStatus \ 1806 ((uint_fast8_t (*)(void))ROM_RTCTABLE[16]) 1807 #endif 1808 #if defined(TARGET_IS_MSP432P4XX) || \ 1809 defined(TARGET_IS_MSP432P4XX_NEXT) 1810 #define ROM_RTC_C_clearInterruptFlag \ 1811 ((void (*)(uint_fast8_t interruptFlagMask))ROM_RTCTABLE[18]) 1812 #endif 1813 1814 //***************************************************************************** 1815 // 1816 // Macros for calling ROM functions in the SPI API. 1817 // 1818 //***************************************************************************** 1819 #if defined(TARGET_IS_MSP432P4XX) || \ 1820 defined(TARGET_IS_MSP432P4XX_NEXT) 1821 #define ROM_SPI_selectFourPinFunctionality \ 1822 ((void (*)(uint32_t moduleInstance, \ 1823 uint_fast8_t select4PinFunctionality))ROM_SPITABLE[1]) 1824 #endif 1825 #if defined(TARGET_IS_MSP432P4XX) || \ 1826 defined(TARGET_IS_MSP432P4XX_NEXT) 1827 #define ROM_SPI_changeMasterClock \ 1828 ((void (*)(uint32_t moduleInstance, \ 1829 uint32_t clockSourceFrequency, \ 1830 uint32_t desiredSpiClock))ROM_SPITABLE[2]) 1831 #endif 1832 #if defined(TARGET_IS_MSP432P4XX) || \ 1833 defined(TARGET_IS_MSP432P4XX_NEXT) 1834 #define ROM_SPI_initSlave \ 1835 ((bool (*)(uint32_t moduleInstance, \ 1836 const eUSCI_SPI_SlaveConfig *config))ROM_SPITABLE[3]) 1837 #endif 1838 #if defined(TARGET_IS_MSP432P4XX) || \ 1839 defined(TARGET_IS_MSP432P4XX_NEXT) 1840 #define ROM_SPI_changeClockPhasePolarity \ 1841 ((void (*)(uint32_t moduleInstance, \ 1842 uint_fast16_t clockPhase, \ 1843 uint_fast16_t clockPolarity))ROM_SPITABLE[4]) 1844 #endif 1845 #if defined(TARGET_IS_MSP432P4XX) || \ 1846 defined(TARGET_IS_MSP432P4XX_NEXT) 1847 #define ROM_SPI_transmitData \ 1848 ((void (*)(uint32_t moduleInstance, \ 1849 uint_fast8_t transmitData))ROM_SPITABLE[5]) 1850 #endif 1851 #if defined(TARGET_IS_MSP432P4XX) || \ 1852 defined(TARGET_IS_MSP432P4XX_NEXT) 1853 #define ROM_SPI_receiveData \ 1854 ((uint8_t (*)(uint32_t moduleInstance))ROM_SPITABLE[6]) 1855 #endif 1856 #if defined(TARGET_IS_MSP432P4XX) || \ 1857 defined(TARGET_IS_MSP432P4XX_NEXT) 1858 #define ROM_SPI_enableModule \ 1859 ((void (*)(uint32_t moduleInstance))ROM_SPITABLE[7]) 1860 #endif 1861 #if defined(TARGET_IS_MSP432P4XX) || \ 1862 defined(TARGET_IS_MSP432P4XX_NEXT) 1863 #define ROM_SPI_disableModule \ 1864 ((void (*)(uint32_t moduleInstance))ROM_SPITABLE[8]) 1865 #endif 1866 #if defined(TARGET_IS_MSP432P4XX) || \ 1867 defined(TARGET_IS_MSP432P4XX_NEXT) 1868 #define ROM_SPI_getReceiveBufferAddressForDMA \ 1869 ((uint32_t (*)(uint32_t moduleInstance))ROM_SPITABLE[9]) 1870 #endif 1871 #if defined(TARGET_IS_MSP432P4XX) || \ 1872 defined(TARGET_IS_MSP432P4XX_NEXT) 1873 #define ROM_SPI_getTransmitBufferAddressForDMA \ 1874 ((uint32_t (*)(uint32_t moduleInstance))ROM_SPITABLE[10]) 1875 #endif 1876 #if defined(TARGET_IS_MSP432P4XX) || \ 1877 defined(TARGET_IS_MSP432P4XX_NEXT) 1878 #define ROM_SPI_isBusy \ 1879 ((uint_fast8_t (*)(uint32_t moduleInstance))ROM_SPITABLE[11]) 1880 #endif 1881 #if defined(TARGET_IS_MSP432P4XX) || \ 1882 defined(TARGET_IS_MSP432P4XX_NEXT) 1883 #define ROM_SPI_enableInterrupt \ 1884 ((void (*)(uint32_t moduleInstance, \ 1885 uint_fast8_t mask))ROM_SPITABLE[12]) 1886 #endif 1887 #if defined(TARGET_IS_MSP432P4XX) || \ 1888 defined(TARGET_IS_MSP432P4XX_NEXT) 1889 #define ROM_SPI_disableInterrupt \ 1890 ((void (*)(uint32_t moduleInstance, \ 1891 uint_fast8_t mask))ROM_SPITABLE[13]) 1892 #endif 1893 #if defined(TARGET_IS_MSP432P4XX) || \ 1894 defined(TARGET_IS_MSP432P4XX_NEXT) 1895 #define ROM_SPI_getInterruptStatus \ 1896 ((uint_fast8_t (*)(uint32_t moduleInstance, \ 1897 uint16_t mask))ROM_SPITABLE[14]) 1898 #endif 1899 #if defined(TARGET_IS_MSP432P4XX) || \ 1900 defined(TARGET_IS_MSP432P4XX_NEXT) 1901 #define ROM_SPI_clearInterruptFlag \ 1902 ((void (*)(uint32_t moduleInstance, \ 1903 uint_fast8_t mask))ROM_SPITABLE[16]) 1904 #endif 1905 1906 //***************************************************************************** 1907 // 1908 // Macros for calling ROM functions in the SysCtl API. 1909 // 1910 //***************************************************************************** 1911 #if defined(TARGET_IS_MSP432P4XX) 1912 #define ROM_SysCtl_getSRAMSize \ 1913 ((uint_least32_t (*)(void))ROM_SYSCTLTABLE[0]) 1914 #endif 1915 #if defined(TARGET_IS_MSP432P4XX) 1916 #define ROM_SysCtl_getFlashSize \ 1917 ((uint_least32_t (*)(void))ROM_SYSCTLTABLE[1]) 1918 #endif 1919 #if defined(TARGET_IS_MSP432P4XX) 1920 #define ROM_SysCtl_rebootDevice \ 1921 ((void (*)(void))ROM_SYSCTLTABLE[2]) 1922 #endif 1923 #if defined(TARGET_IS_MSP432P4XX) 1924 #define ROM_SysCtl_enableSRAMBank \ 1925 ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[3]) 1926 #endif 1927 #if defined(TARGET_IS_MSP432P4XX) 1928 #define ROM_SysCtl_disableSRAMBank \ 1929 ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[4]) 1930 #endif 1931 #if defined(TARGET_IS_MSP432P4XX) 1932 #define ROM_SysCtl_enableSRAMBankRetention \ 1933 ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[5]) 1934 #endif 1935 #if defined(TARGET_IS_MSP432P4XX) 1936 #define ROM_SysCtl_disableSRAMBankRetention \ 1937 ((void (*)(uint_fast8_t sramBank))ROM_SYSCTLTABLE[6]) 1938 #endif 1939 #if defined(TARGET_IS_MSP432P4XX) 1940 #define ROM_SysCtl_enablePeripheralAtCPUHalt \ 1941 ((void (*)(uint_fast16_t devices))ROM_SYSCTLTABLE[7]) 1942 #endif 1943 #if defined(TARGET_IS_MSP432P4XX) 1944 #define ROM_SysCtl_disablePeripheralAtCPUHalt \ 1945 ((void (*)(uint_fast16_t devices))ROM_SYSCTLTABLE[8]) 1946 #endif 1947 #if defined(TARGET_IS_MSP432P4XX) 1948 #define ROM_SysCtl_setWDTTimeoutResetType \ 1949 ((void (*)(uint_fast8_t resetType))ROM_SYSCTLTABLE[9]) 1950 #endif 1951 #if defined(TARGET_IS_MSP432P4XX) 1952 #define ROM_SysCtl_setWDTPasswordViolationResetType \ 1953 ((void (*)(uint_fast8_t resetType))ROM_SYSCTLTABLE[10]) 1954 #endif 1955 #if defined(TARGET_IS_MSP432P4XX) 1956 #define ROM_SysCtl_disableNMISource \ 1957 ((void (*)(uint_fast8_t flags))ROM_SYSCTLTABLE[11]) 1958 #endif 1959 #if defined(TARGET_IS_MSP432P4XX) 1960 #define ROM_SysCtl_enableNMISource \ 1961 ((void (*)(uint_fast8_t flags))ROM_SYSCTLTABLE[12]) 1962 #endif 1963 #if defined(TARGET_IS_MSP432P4XX) 1964 #define ROM_SysCtl_getTempCalibrationConstant \ 1965 ((uint_fast16_t (*)(uint32_t refVoltage, \ 1966 uint32_t temperature))ROM_SYSCTLTABLE[14]) 1967 #endif 1968 #if defined(TARGET_IS_MSP432P4XX) 1969 #define ROM_SysCtl_enableGlitchFilter \ 1970 ((void (*)(void))ROM_SYSCTLTABLE[15]) 1971 #endif 1972 #if defined(TARGET_IS_MSP432P4XX) 1973 #define ROM_SysCtl_disableGlitchFilter \ 1974 ((void (*)(void))ROM_SYSCTLTABLE[16]) 1975 #endif 1976 #if defined(TARGET_IS_MSP432P4XX) 1977 #define ROM_SysCtl_getTLVInfo \ 1978 ((void (*)(uint_fast8_t tag, \ 1979 uint_fast8_t instance, \ 1980 uint_fast8_t *length, \ 1981 uint32_t **data_address))ROM_SYSCTLTABLE[17]) 1982 #endif 1983 1984 //***************************************************************************** 1985 // 1986 // Macros for calling ROM functions in the SysTick API. 1987 // 1988 //***************************************************************************** 1989 #if defined(TARGET_IS_MSP432P4XX) || \ 1990 defined(TARGET_IS_MSP432P4XX_NEXT) 1991 #define ROM_SysTick_enableModule \ 1992 ((void (*)(void))ROM_SYSTICKTABLE[0]) 1993 #endif 1994 #if defined(TARGET_IS_MSP432P4XX) || \ 1995 defined(TARGET_IS_MSP432P4XX_NEXT) 1996 #define ROM_SysTick_disableModule \ 1997 ((void (*)(void))ROM_SYSTICKTABLE[1]) 1998 #endif 1999 #if defined(TARGET_IS_MSP432P4XX) || \ 2000 defined(TARGET_IS_MSP432P4XX_NEXT) 2001 #define ROM_SysTick_enableInterrupt \ 2002 ((void (*)(void))ROM_SYSTICKTABLE[2]) 2003 #endif 2004 #if defined(TARGET_IS_MSP432P4XX) || \ 2005 defined(TARGET_IS_MSP432P4XX_NEXT) 2006 #define ROM_SysTick_disableInterrupt \ 2007 ((void (*)(void))ROM_SYSTICKTABLE[3]) 2008 #endif 2009 #if defined(TARGET_IS_MSP432P4XX) || \ 2010 defined(TARGET_IS_MSP432P4XX_NEXT) 2011 #define ROM_SysTick_setPeriod \ 2012 ((void (*)(uint32_t period))ROM_SYSTICKTABLE[4]) 2013 #endif 2014 #if defined(TARGET_IS_MSP432P4XX) || \ 2015 defined(TARGET_IS_MSP432P4XX_NEXT) 2016 #define ROM_SysTick_getPeriod \ 2017 ((uint32_t (*)(void))ROM_SYSTICKTABLE[5]) 2018 #endif 2019 #if defined(TARGET_IS_MSP432P4XX) || \ 2020 defined(TARGET_IS_MSP432P4XX_NEXT) 2021 #define ROM_SysTick_getValue \ 2022 ((uint32_t (*)(void))ROM_SYSTICKTABLE[6]) 2023 #endif 2024 2025 //***************************************************************************** 2026 // 2027 // Macros for calling ROM functions in the Timer_A API. 2028 // 2029 //***************************************************************************** 2030 #if defined(TARGET_IS_MSP432P4XX) || \ 2031 defined(TARGET_IS_MSP432P4XX_NEXT) 2032 #define ROM_Timer_A_startCounter \ 2033 ((void (*)(uint32_t timer, \ 2034 uint_fast16_t timerMode))ROM_TIMER_ATABLE[0]) 2035 #endif 2036 #if defined(TARGET_IS_MSP432P4XX) || \ 2037 defined(TARGET_IS_MSP432P4XX_NEXT) 2038 #define ROM_Timer_A_configureContinuousMode \ 2039 ((void (*)(uint32_t timer, \ 2040 const Timer_A_ContinuousModeConfig *config))ROM_TIMER_ATABLE[1]) 2041 #endif 2042 #if defined(TARGET_IS_MSP432P4XX) || \ 2043 defined(TARGET_IS_MSP432P4XX_NEXT) 2044 #define ROM_Timer_A_configureUpMode \ 2045 ((void (*)(uint32_t timer, \ 2046 const Timer_A_UpModeConfig *config))ROM_TIMER_ATABLE[2]) 2047 #endif 2048 #if defined(TARGET_IS_MSP432P4XX) || \ 2049 defined(TARGET_IS_MSP432P4XX_NEXT) 2050 #define ROM_Timer_A_configureUpDownMode \ 2051 ((void (*)(uint32_t timer, \ 2052 const Timer_A_UpDownModeConfig *config))ROM_TIMER_ATABLE[3]) 2053 #endif 2054 #if defined(TARGET_IS_MSP432P4XX) || \ 2055 defined(TARGET_IS_MSP432P4XX_NEXT) 2056 #define ROM_Timer_A_initCapture \ 2057 ((void (*)(uint32_t timer, \ 2058 const Timer_A_CaptureModeConfig *config))ROM_TIMER_ATABLE[4]) 2059 #endif 2060 #if defined(TARGET_IS_MSP432P4XX) || \ 2061 defined(TARGET_IS_MSP432P4XX_NEXT) 2062 #define ROM_Timer_A_initCompare \ 2063 ((void (*)(uint32_t timer, \ 2064 const Timer_A_CompareModeConfig *config))ROM_TIMER_ATABLE[5]) 2065 #endif 2066 #if defined(TARGET_IS_MSP432P4XX) || \ 2067 defined(TARGET_IS_MSP432P4XX_NEXT) 2068 #define ROM_Timer_A_clearTimer \ 2069 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[6]) 2070 #endif 2071 #if defined(TARGET_IS_MSP432P4XX) || \ 2072 defined(TARGET_IS_MSP432P4XX_NEXT) 2073 #define ROM_Timer_A_getSynchronizedCaptureCompareInput \ 2074 ((uint_fast8_t (*)(uint32_t timer, \ 2075 uint_fast16_t captureCompareRegister, \ 2076 uint_fast16_t synchronizedSetting))ROM_TIMER_ATABLE[7]) 2077 #endif 2078 #if defined(TARGET_IS_MSP432P4XX) || \ 2079 defined(TARGET_IS_MSP432P4XX_NEXT) 2080 #define ROM_Timer_A_getOutputForOutputModeOutBitValue \ 2081 ((uint_fast8_t (*)(uint32_t timer, \ 2082 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[8]) 2083 #endif 2084 #if defined(TARGET_IS_MSP432P4XX) || \ 2085 defined(TARGET_IS_MSP432P4XX_NEXT) 2086 #define ROM_Timer_A_getCaptureCompareCount \ 2087 ((uint_fast16_t (*)(uint32_t timer, \ 2088 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[9]) 2089 #endif 2090 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2091 #define ROM_Timer_A_setOutputForOutputModeOutBitValue \ 2092 ((void (*)(uint32_t timer, \ 2093 uint_fast16_t captureCompareRegister, \ 2094 uint_fast8_t outputModeOutBitValue))ROM_TIMER_ATABLE[10]) 2095 #endif 2096 #if defined(TARGET_IS_MSP432P4XX) || \ 2097 defined(TARGET_IS_MSP432P4XX_NEXT) 2098 #define ROM_Timer_A_generatePWM \ 2099 ((void (*)(uint32_t timer, \ 2100 const Timer_A_PWMConfig *config))ROM_TIMER_ATABLE[11]) 2101 #endif 2102 #if defined(TARGET_IS_MSP432P4XX) || \ 2103 defined(TARGET_IS_MSP432P4XX_NEXT) 2104 #define ROM_Timer_A_stopTimer \ 2105 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[12]) 2106 #endif 2107 #if defined(TARGET_IS_MSP432P4XX) || \ 2108 defined(TARGET_IS_MSP432P4XX_NEXT) 2109 #define ROM_Timer_A_setCompareValue \ 2110 ((void (*)(uint32_t timer, \ 2111 uint_fast16_t compareRegister, \ 2112 uint_fast16_t compareValue))ROM_TIMER_ATABLE[13]) 2113 #endif 2114 #if defined(TARGET_IS_MSP432P4XX) || \ 2115 defined(TARGET_IS_MSP432P4XX_NEXT) 2116 #define ROM_Timer_A_clearInterruptFlag \ 2117 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[14]) 2118 #endif 2119 #if defined(TARGET_IS_MSP432P4XX) || \ 2120 defined(TARGET_IS_MSP432P4XX_NEXT) 2121 #define ROM_Timer_A_clearCaptureCompareInterrupt \ 2122 ((void (*)(uint32_t timer, \ 2123 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[15]) 2124 #endif 2125 #if defined(TARGET_IS_MSP432P4XX) || \ 2126 defined(TARGET_IS_MSP432P4XX_NEXT) 2127 #define ROM_Timer_A_enableInterrupt \ 2128 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[16]) 2129 #endif 2130 #if defined(TARGET_IS_MSP432P4XX) || \ 2131 defined(TARGET_IS_MSP432P4XX_NEXT) 2132 #define ROM_Timer_A_disableInterrupt \ 2133 ((void (*)(uint32_t timer))ROM_TIMER_ATABLE[17]) 2134 #endif 2135 #if defined(TARGET_IS_MSP432P4XX) || \ 2136 defined(TARGET_IS_MSP432P4XX_NEXT) 2137 #define ROM_Timer_A_getInterruptStatus \ 2138 ((uint32_t (*)(uint32_t timer))ROM_TIMER_ATABLE[18]) 2139 #endif 2140 #if defined(TARGET_IS_MSP432P4XX) || \ 2141 defined(TARGET_IS_MSP432P4XX_NEXT) 2142 #define ROM_Timer_A_getEnabledInterruptStatus \ 2143 ((uint32_t (*)(uint32_t timer))ROM_TIMER_ATABLE[19]) 2144 #endif 2145 #if defined(TARGET_IS_MSP432P4XX) || \ 2146 defined(TARGET_IS_MSP432P4XX_NEXT) 2147 #define ROM_Timer_A_enableCaptureCompareInterrupt \ 2148 ((void (*)(uint32_t timer, \ 2149 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[20]) 2150 #endif 2151 #if defined(TARGET_IS_MSP432P4XX) || \ 2152 defined(TARGET_IS_MSP432P4XX_NEXT) 2153 #define ROM_Timer_A_disableCaptureCompareInterrupt \ 2154 ((void (*)(uint32_t timer, \ 2155 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[21]) 2156 #endif 2157 #if defined(TARGET_IS_MSP432P4XX) || \ 2158 defined(TARGET_IS_MSP432P4XX_NEXT) 2159 #define ROM_Timer_A_getCaptureCompareInterruptStatus \ 2160 ((uint32_t (*)(uint32_t timer, \ 2161 uint_fast16_t captureCompareRegister, \ 2162 uint_fast16_t mask))ROM_TIMER_ATABLE[22]) 2163 #endif 2164 #if defined(TARGET_IS_MSP432P4XX) || \ 2165 defined(TARGET_IS_MSP432P4XX_NEXT) 2166 #define ROM_Timer_A_getCaptureCompareEnabledInterruptStatus \ 2167 ((uint32_t (*)(uint32_t timer, \ 2168 uint_fast16_t captureCompareRegister))ROM_TIMER_ATABLE[23]) 2169 #endif 2170 #if defined(TARGET_IS_MSP432P4XX) || \ 2171 defined(TARGET_IS_MSP432P4XX_NEXT) 2172 #define ROM_Timer_A_getCounterValue \ 2173 ((uint16_t (*)(uint32_t timer))ROM_TIMER_ATABLE[26]) 2174 #endif 2175 2176 //***************************************************************************** 2177 // 2178 // Macros for calling ROM functions in the Timer32 API. 2179 // 2180 //***************************************************************************** 2181 #if defined(TARGET_IS_MSP432P4XX) || \ 2182 defined(TARGET_IS_MSP432P4XX_NEXT) 2183 #define ROM_Timer32_initModule \ 2184 ((void (*)(uint32_t timer, \ 2185 uint32_t preScaler, \ 2186 uint32_t resolution, \ 2187 uint32_t mode))ROM_TIMER32TABLE[0]) 2188 #endif 2189 #if defined(TARGET_IS_MSP432P4XX) || \ 2190 defined(TARGET_IS_MSP432P4XX_NEXT) 2191 #define ROM_Timer32_setCount \ 2192 ((void (*)(uint32_t timer, \ 2193 uint32_t count))ROM_TIMER32TABLE[1]) 2194 #endif 2195 #if defined(TARGET_IS_MSP432P4XX) || \ 2196 defined(TARGET_IS_MSP432P4XX_NEXT) 2197 #define ROM_Timer32_setCountInBackground \ 2198 ((void (*)(uint32_t timer, \ 2199 uint32_t count))ROM_TIMER32TABLE[2]) 2200 #endif 2201 #if defined(TARGET_IS_MSP432P4XX) || \ 2202 defined(TARGET_IS_MSP432P4XX_NEXT) 2203 #define ROM_Timer32_getValue \ 2204 ((uint32_t (*)(uint32_t timer))ROM_TIMER32TABLE[3]) 2205 #endif 2206 #if defined(TARGET_IS_MSP432P4XX) || \ 2207 defined(TARGET_IS_MSP432P4XX_NEXT) 2208 #define ROM_Timer32_startTimer \ 2209 ((void (*)(uint32_t timer, \ 2210 bool oneShot))ROM_TIMER32TABLE[4]) 2211 #endif 2212 #if defined(TARGET_IS_MSP432P4XX) || \ 2213 defined(TARGET_IS_MSP432P4XX_NEXT) 2214 #define ROM_Timer32_haltTimer \ 2215 ((void (*)(uint32_t timer))ROM_TIMER32TABLE[5]) 2216 #endif 2217 #if defined(TARGET_IS_MSP432P4XX) || \ 2218 defined(TARGET_IS_MSP432P4XX_NEXT) 2219 #define ROM_Timer32_enableInterrupt \ 2220 ((void (*)(uint32_t timer))ROM_TIMER32TABLE[6]) 2221 #endif 2222 #if defined(TARGET_IS_MSP432P4XX) || \ 2223 defined(TARGET_IS_MSP432P4XX_NEXT) 2224 #define ROM_Timer32_disableInterrupt \ 2225 ((void (*)(uint32_t timer))ROM_TIMER32TABLE[7]) 2226 #endif 2227 #if defined(TARGET_IS_MSP432P4XX) || \ 2228 defined(TARGET_IS_MSP432P4XX_NEXT) 2229 #define ROM_Timer32_clearInterruptFlag \ 2230 ((void (*)(uint32_t timer))ROM_TIMER32TABLE[8]) 2231 #endif 2232 #if defined(TARGET_IS_MSP432P4XX) || \ 2233 defined(TARGET_IS_MSP432P4XX_NEXT) 2234 #define ROM_Timer32_getInterruptStatus \ 2235 ((uint32_t (*)(uint32_t timer))ROM_TIMER32TABLE[9]) 2236 #endif 2237 2238 //***************************************************************************** 2239 // 2240 // Macros for calling ROM functions in the UART API. 2241 // 2242 //***************************************************************************** 2243 #if defined(TARGET_IS_MSP432P4XX) || \ 2244 defined(TARGET_IS_MSP432P4XX_NEXT) 2245 #define ROM_UART_transmitData \ 2246 ((void (*)(uint32_t moduleInstance, \ 2247 uint_fast8_t transmitData))ROM_UARTTABLE[1]) 2248 #endif 2249 #if defined(TARGET_IS_MSP432P4XX) || \ 2250 defined(TARGET_IS_MSP432P4XX_NEXT) 2251 #define ROM_UART_enableModule \ 2252 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[2]) 2253 #endif 2254 #if defined(TARGET_IS_MSP432P4XX) || \ 2255 defined(TARGET_IS_MSP432P4XX_NEXT) 2256 #define ROM_UART_disableModule \ 2257 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[3]) 2258 #endif 2259 #if defined(TARGET_IS_MSP432P4XX) || \ 2260 defined(TARGET_IS_MSP432P4XX_NEXT) 2261 #define ROM_UART_queryStatusFlags \ 2262 ((uint_fast8_t (*)(uint32_t moduleInstance, \ 2263 uint_fast8_t mask))ROM_UARTTABLE[4]) 2264 #endif 2265 #if defined(TARGET_IS_MSP432P4XX) || \ 2266 defined(TARGET_IS_MSP432P4XX_NEXT) 2267 #define ROM_UART_setDormant \ 2268 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[5]) 2269 #endif 2270 #if defined(TARGET_IS_MSP432P4XX) || \ 2271 defined(TARGET_IS_MSP432P4XX_NEXT) 2272 #define ROM_UART_resetDormant \ 2273 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[6]) 2274 #endif 2275 #if defined(TARGET_IS_MSP432P4XX) || \ 2276 defined(TARGET_IS_MSP432P4XX_NEXT) 2277 #define ROM_UART_transmitAddress \ 2278 ((void (*)(uint32_t moduleInstance, \ 2279 uint_fast8_t transmitAddress))ROM_UARTTABLE[7]) 2280 #endif 2281 #if defined(TARGET_IS_MSP432P4XX) || \ 2282 defined(TARGET_IS_MSP432P4XX_NEXT) 2283 #define ROM_UART_transmitBreak \ 2284 ((void (*)(uint32_t moduleInstance))ROM_UARTTABLE[8]) 2285 #endif 2286 #if defined(TARGET_IS_MSP432P4XX) || \ 2287 defined(TARGET_IS_MSP432P4XX_NEXT) 2288 #define ROM_UART_getReceiveBufferAddressForDMA \ 2289 ((uint32_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[9]) 2290 #endif 2291 #if defined(TARGET_IS_MSP432P4XX) || \ 2292 defined(TARGET_IS_MSP432P4XX_NEXT) 2293 #define ROM_UART_getTransmitBufferAddressForDMA \ 2294 ((uint32_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[10]) 2295 #endif 2296 #if defined(TARGET_IS_MSP432P4XX) || \ 2297 defined(TARGET_IS_MSP432P4XX_NEXT) 2298 #define ROM_UART_selectDeglitchTime \ 2299 ((void (*)(uint32_t moduleInstance, \ 2300 uint32_t deglitchTime))ROM_UARTTABLE[11]) 2301 #endif 2302 #if defined(TARGET_IS_MSP432P4XX) || \ 2303 defined(TARGET_IS_MSP432P4XX_NEXT) 2304 #define ROM_UART_enableInterrupt \ 2305 ((void (*)(uint32_t moduleInstance, \ 2306 uint_fast8_t mask))ROM_UARTTABLE[12]) 2307 #endif 2308 #if defined(TARGET_IS_MSP432P4XX) || \ 2309 defined(TARGET_IS_MSP432P4XX_NEXT) 2310 #define ROM_UART_disableInterrupt \ 2311 ((void (*)(uint32_t moduleInstance, \ 2312 uint_fast8_t mask))ROM_UARTTABLE[13]) 2313 #endif 2314 #if defined(TARGET_IS_MSP432P4XX) || \ 2315 defined(TARGET_IS_MSP432P4XX_NEXT) 2316 #define ROM_UART_getInterruptStatus \ 2317 ((uint_fast8_t (*)(uint32_t moduleInstance, \ 2318 uint8_t mask))ROM_UARTTABLE[14]) 2319 #endif 2320 #if defined(TARGET_IS_MSP432P4XX) || \ 2321 defined(TARGET_IS_MSP432P4XX_NEXT) 2322 #define ROM_UART_clearInterruptFlag \ 2323 ((void (*)(uint32_t moduleInstance, \ 2324 uint_fast8_t mask))ROM_UARTTABLE[15]) 2325 #endif 2326 #if defined(TARGET_IS_MSP432P4XX) || \ 2327 defined(TARGET_IS_MSP432P4XX_NEXT) 2328 #define ROM_UART_receiveData \ 2329 ((uint8_t (*)(uint32_t moduleInstance))ROM_UARTTABLE[16]) 2330 #endif 2331 2332 //***************************************************************************** 2333 // 2334 // Macros for calling ROM functions in the WDT API. 2335 // 2336 //***************************************************************************** 2337 #if defined(TARGET_IS_MSP432P4XX) || \ 2338 defined(TARGET_IS_MSP432P4XX_NEXT) 2339 #define ROM_WDT_A_holdTimer \ 2340 ((void (*)(void))ROM_WDTTABLE[0]) 2341 #endif 2342 #if defined(TARGET_IS_MSP432P4XX) || \ 2343 defined(TARGET_IS_MSP432P4XX_NEXT) 2344 #define ROM_WDT_A_startTimer \ 2345 ((void (*)(void))ROM_WDTTABLE[1]) 2346 #endif 2347 #if defined(TARGET_IS_MSP432P4XX) || \ 2348 defined(TARGET_IS_MSP432P4XX_NEXT) 2349 #define ROM_WDT_A_clearTimer \ 2350 ((void (*)(void))ROM_WDTTABLE[2]) 2351 #endif 2352 #if defined(TARGET_IS_MSP432P4XX) || \ 2353 defined(TARGET_IS_MSP432P4XX_NEXT) 2354 #define ROM_WDT_A_initWatchdogTimer \ 2355 ((void (*)(uint_fast8_t clockSelect, \ 2356 uint_fast8_t clockDivider))ROM_WDTTABLE[3]) 2357 #endif 2358 #if defined(TARGET_IS_MSP432P4XX) || \ 2359 defined(TARGET_IS_MSP432P4XX_NEXT) 2360 #define ROM_WDT_A_initIntervalTimer \ 2361 ((void (*)(uint_fast8_t clockSelect, \ 2362 uint_fast8_t clockDivider))ROM_WDTTABLE[4]) 2363 #endif 2364 #if defined(TARGET_IS_MSP432P4XX) || \ 2365 defined(TARGET_IS_MSP432P4XX_NEXT) 2366 #define ROM_WDT_A_setPasswordViolationReset \ 2367 ((void (*)(uint_fast8_t resetType))ROM_WDTTABLE[7]) 2368 #endif 2369 #if defined(TARGET_IS_MSP432P4XX) || \ 2370 defined(TARGET_IS_MSP432P4XX_NEXT) 2371 #define ROM_WDT_A_setTimeoutReset \ 2372 ((void (*)(uint_fast8_t resetType))ROM_WDTTABLE[8]) 2373 #endif 2374 2375 //***************************************************************************** 2376 // 2377 // Macros for calling ROM functions in the SysCtl_A API. 2378 // 2379 //***************************************************************************** 2380 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2381 #define ROM_SysCtl_A_getSRAMSize \ 2382 ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[0]) 2383 #endif 2384 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2385 #define ROM_SysCtl_A_getFlashSize \ 2386 ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[1]) 2387 #endif 2388 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2389 #define ROM_SysCtl_A_rebootDevice \ 2390 ((void (*)(void))ROM_SYSCTLATABLE[2]) 2391 #endif 2392 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2393 #define ROM_SysCtl_A_enableSRAM \ 2394 ((bool (*)(uint32_t addr))ROM_SYSCTLATABLE[3]) 2395 #endif 2396 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2397 #define ROM_SysCtl_A_disableSRAM \ 2398 ((bool (*)(uint32_t addr))ROM_SYSCTLATABLE[4]) 2399 #endif 2400 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2401 #define ROM_SysCtl_A_enableSRAMRetention \ 2402 ((bool (*)(uint32_t startAddr, \ 2403 uint32_t endAddr))ROM_SYSCTLATABLE[5]) 2404 #endif 2405 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2406 #define ROM_SysCtl_A_disableSRAMRetention \ 2407 ((bool (*)(uint32_t startAddr, \ 2408 uint32_t endAddr))ROM_SYSCTLATABLE[6]) 2409 #endif 2410 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2411 #define ROM_SysCtl_A_enablePeripheralAtCPUHalt \ 2412 ((void (*)(uint_fast16_t devices))ROM_SYSCTLATABLE[7]) 2413 #endif 2414 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2415 #define ROM_SysCtl_A_disablePeripheralAtCPUHalt \ 2416 ((void (*)(uint_fast16_t devices))ROM_SYSCTLATABLE[8]) 2417 #endif 2418 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2419 #define ROM_SysCtl_A_setWDTTimeoutResetType \ 2420 ((void (*)(uint_fast8_t resetType))ROM_SYSCTLATABLE[9]) 2421 #endif 2422 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2423 #define ROM_SysCtl_A_setWDTPasswordViolationResetType \ 2424 ((void (*)(uint_fast8_t resetType))ROM_SYSCTLATABLE[10]) 2425 #endif 2426 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2427 #define ROM_SysCtl_A_disableNMISource \ 2428 ((void (*)(uint_fast8_t flags))ROM_SYSCTLATABLE[11]) 2429 #endif 2430 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2431 #define ROM_SysCtl_A_enableNMISource \ 2432 ((void (*)(uint_fast8_t flags))ROM_SYSCTLATABLE[12]) 2433 #endif 2434 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2435 #define ROM_SysCtl_A_getTempCalibrationConstant \ 2436 ((uint_fast16_t (*)(uint32_t refVoltage, \ 2437 uint32_t temperature))ROM_SYSCTLATABLE[14]) 2438 #endif 2439 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2440 #define ROM_SysCtl_A_enableGlitchFilter \ 2441 ((void (*)(void))ROM_SYSCTLATABLE[15]) 2442 #endif 2443 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2444 #define ROM_SysCtl_A_disableGlitchFilter \ 2445 ((void (*)(void))ROM_SYSCTLATABLE[16]) 2446 #endif 2447 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2448 #define ROM_SysCtl_A_getTLVInfo \ 2449 ((void (*)(uint_fast8_t tag, \ 2450 uint_fast8_t instance, \ 2451 uint_fast8_t *length, \ 2452 uint32_t **data_address))ROM_SYSCTLATABLE[17]) 2453 #endif 2454 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2455 #define ROM_SysCtl_A_getInfoFlashSize \ 2456 ((uint_least32_t (*)(void))ROM_SYSCTLATABLE[18]) 2457 #endif 2458 2459 //***************************************************************************** 2460 // 2461 // Macros for calling ROM functions in the Flash_A API. 2462 // 2463 //***************************************************************************** 2464 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2465 #define ROM_FlashCtl_A_enableReadBuffering \ 2466 ((void (*)(uint_fast8_t memoryBank, \ 2467 uint_fast8_t accessMethod))ROM_FLASHCTLATABLE[2]) 2468 #endif 2469 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2470 #define ROM_FlashCtl_A_disableReadBuffering \ 2471 ((void (*)(uint_fast8_t memoryBank, \ 2472 uint_fast8_t accessMethod))ROM_FLASHCTLATABLE[3]) 2473 #endif 2474 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2475 #define ROM_FlashCtl_A_unprotectMemory \ 2476 ((bool (*)(uint32_t startAddr, \ 2477 uint32_t endAddr))ROM_FLASHCTLATABLE[4]) 2478 #endif 2479 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2480 #define ROM_FlashCtl_A_protectMemory \ 2481 ((bool (*)(uint32_t startAddr, \ 2482 uint32_t endAddr))ROM_FLASHCTLATABLE[5]) 2483 #endif 2484 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2485 #define ROM_FlashCtl_A_isMemoryRangeProtected \ 2486 ((bool (*)(uint32_t startAddr, \ 2487 uint32_t endAddr))ROM_FLASHCTLATABLE[6]) 2488 #endif 2489 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2490 #define ROM_FlashCtl_A_verifyMemory \ 2491 ((bool (*)(void* verifyAddr, \ 2492 uint32_t length, \ 2493 uint_fast8_t pattern))ROM_FLASHCTLATABLE[7]) 2494 #endif 2495 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2496 #define ROM_FlashCtl_A_performMassErase \ 2497 ((bool (*)(void))ROM_FLASHCTLATABLE[8]) 2498 #endif 2499 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2500 #define ROM_FlashCtl_A_eraseSector \ 2501 ((bool (*)(uint32_t addr))ROM_FLASHCTLATABLE[9]) 2502 #endif 2503 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2504 #define ROM_FlashCtl_A_programMemory \ 2505 ((bool (*)(void* src, \ 2506 void* dest, \ 2507 uint32_t length))ROM_FLASHCTLATABLE[10]) 2508 #endif 2509 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2510 #define ROM_FlashCtl_A_setProgramVerification \ 2511 ((void (*)(uint32_t verificationSetting))ROM_FLASHCTLATABLE[11]) 2512 #endif 2513 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2514 #define ROM_FlashCtl_A_clearProgramVerification \ 2515 ((void (*)( uint32_t verificationSetting))ROM_FLASHCTLATABLE[12]) 2516 #endif 2517 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2518 #define ROM_FlashCtl_A_enableWordProgramming \ 2519 ((void (*)(uint32_t mode))ROM_FLASHCTLATABLE[13]) 2520 #endif 2521 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2522 #define ROM_FlashCtl_A_disableWordProgramming \ 2523 ((void (*)(void))ROM_FLASHCTLATABLE[14]) 2524 #endif 2525 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2526 #define ROM_FlashCtl_A_isWordProgrammingEnabled \ 2527 ((uint32_t (*)(void))ROM_FLASHCTLATABLE[15]) 2528 #endif 2529 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2530 #define ROM_FlashCtl_A_enableInterrupt \ 2531 ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[16]) 2532 #endif 2533 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2534 #define ROM_FlashCtl_A_disableInterrupt \ 2535 ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[17]) 2536 #endif 2537 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2538 #define ROM_FlashCtl_A_getEnabledInterruptStatus \ 2539 ((uint32_t (*)(void))ROM_FLASHCTLATABLE[18]) 2540 #endif 2541 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2542 #define ROM_FlashCtl_A_getInterruptStatus \ 2543 ((uint32_t (*)(void))ROM_FLASHCTLATABLE[19]) 2544 #endif 2545 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2546 #define ROM_FlashCtl_A_clearInterruptFlag \ 2547 ((void (*)(uint32_t flags))ROM_FLASHCTLATABLE[20]) 2548 #endif 2549 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2550 #define ROM_FlashCtl_A_setWaitState \ 2551 ((void (*)(uint32_t bank, \ 2552 uint32_t waitState))ROM_FLASHCTLATABLE[21]) 2553 #endif 2554 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2555 #define ROM_FlashCtl_A_getWaitState \ 2556 ((uint32_t (*)(uint32_t bank))ROM_FLASHCTLATABLE[22]) 2557 #endif 2558 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2559 #define ROM_FlashCtl_A_setReadMode \ 2560 ((bool (*)(uint32_t flashBank, \ 2561 uint32_t readMode))ROM_FLASHCTLATABLE[23]) 2562 #endif 2563 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2564 #define ROM_FlashCtl_A_getReadMode \ 2565 ((uint32_t (*)(uint32_t flashBank))ROM_FLASHCTLATABLE[24]) 2566 #endif 2567 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2568 #define ROM___FlashCtl_A_remaskData8Post \ 2569 ((uint8_t (*)(uint8_t data, \ 2570 uint32_t addr))ROM_FLASHCTLATABLE[27]) 2571 #endif 2572 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2573 #define ROM___FlashCtl_A_remaskData8Pre \ 2574 ((uint8_t (*)(uint8_t data, \ 2575 uint32_t addr))ROM_FLASHCTLATABLE[28]) 2576 #endif 2577 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2578 #define ROM___FlashCtl_A_remaskData32Pre \ 2579 ((uint32_t (*)(uint32_t data, \ 2580 uint32_t addr))ROM_FLASHCTLATABLE[29]) 2581 #endif 2582 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2583 #define ROM___FlashCtl_A_remaskData32Post \ 2584 ((uint32_t (*)(uint32_t data, \ 2585 uint32_t addr))ROM_FLASHCTLATABLE[30]) 2586 #endif 2587 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2588 #define ROM___FlashCtl_A_remaskBurstDataPre \ 2589 ((void (*)(uint32_t addr, \ 2590 uint32_t size))ROM_FLASHCTLATABLE[31]) 2591 #endif 2592 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2593 #define ROM___FlashCtl_A_remaskBurstDataPost \ 2594 ((void (*)(uint32_t addr, \ 2595 uint32_t size))ROM_FLASHCTLATABLE[32]) 2596 #endif 2597 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2598 #define ROM_FlashCtl_A_initiateSectorErase \ 2599 ((void (*)(uint32_t addr))ROM_FLASHCTLATABLE[33]) 2600 #endif 2601 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2602 #define ROM_FlashCtl_A_initiateMassErase \ 2603 ((void (*)(void))ROM_FLASHCTLATABLE[34]) 2604 #endif 2605 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2606 #define ROM_FlashCtl_A_isMemoryProtected \ 2607 ((bool (*)(uint32_t addr))ROM_FLASHCTLATABLE[35]) 2608 #endif 2609 2610 //***************************************************************************** 2611 // 2612 // Macros for calling ROM functions in the LCD_F API. 2613 // 2614 //***************************************************************************** 2615 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2616 #define ROM_LCD_F_turnOff \ 2617 ((void (*)(void))ROM_LCDFTABLE[2]) 2618 #endif 2619 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2620 #define ROM_LCD_F_clearAllMemory \ 2621 ((void (*)(void))ROM_LCDFTABLE[3]) 2622 #endif 2623 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2624 #define ROM_LCD_F_clearAllBlinkingMemory \ 2625 ((void (*)(void))ROM_LCDFTABLE[4]) 2626 #endif 2627 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2628 #define ROM_LCD_F_selectDisplayMemory \ 2629 ((void (*)(uint_fast16_t displayMemory))ROM_LCDFTABLE[5]) 2630 #endif 2631 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2632 #define ROM_LCD_F_setBlinkingControl \ 2633 ((void (*)(uint_fast16_t clockPrescalar, \ 2634 uint_fast16_t divider, \ 2635 uint_fast16_t mode))ROM_LCDFTABLE[6]) 2636 #endif 2637 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2638 #define ROM_LCD_F_setAnimationControl \ 2639 ((void (*)(uint_fast16_t clockPrescalar, \ 2640 uint_fast16_t divider, \ 2641 uint_fast16_t frames))ROM_LCDFTABLE[7]) 2642 #endif 2643 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2644 #define ROM_LCD_F_clearAllAnimationMemory \ 2645 ((void (*)(void))ROM_LCDFTABLE[8]) 2646 #endif 2647 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2648 #define ROM_LCD_F_setPinAsLCDFunction \ 2649 ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[9]) 2650 #endif 2651 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2652 #define ROM_LCD_F_setPinAsPortFunction \ 2653 ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[10]) 2654 #endif 2655 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2656 #define ROM_LCD_F_setPinAsSEG \ 2657 ((void (*)(uint_fast8_t pin))ROM_LCDFTABLE[13]) 2658 #endif 2659 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2660 #define ROM_LCD_F_selectBias \ 2661 ((void (*)(uint_fast16_t bias))ROM_LCDFTABLE[14]) 2662 #endif 2663 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2664 #define ROM_LCD_F_setVLCDSource \ 2665 ((void (*)(uint_fast16_t v2v3v4Source, \ 2666 uint_fast16_t v5Source))ROM_LCDFTABLE[15]) 2667 #endif 2668 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2669 #define ROM_LCD_F_clearInterrupt \ 2670 ((void (*)(uint32_t mask))ROM_LCDFTABLE[16]) 2671 #endif 2672 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2673 #define ROM_LCD_F_getInterruptStatus \ 2674 ((uint32_t (*)(void))ROM_LCDFTABLE[17]) 2675 #endif 2676 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2677 #define ROM_LCD_F_getEnabledInterruptStatus \ 2678 ((uint32_t (*)(void))ROM_LCDFTABLE[18]) 2679 #endif 2680 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2681 #define ROM_LCD_F_enableInterrupt \ 2682 ((void (*)(uint32_t mask))ROM_LCDFTABLE[19]) 2683 #endif 2684 #if defined(TARGET_IS_MSP432P4XX_NEXT) 2685 #define ROM_LCD_F_disableInterrupt \ 2686 ((void (*)(uint32_t mask))ROM_LCDFTABLE[20]) 2687 #endif 2688 2689 #endif // __ROM_H__ 2690