1 /** @file esm.h 2 * @brief Error Signaling Module Driver Header File 3 * @date 29.May.2013 4 * @version 03.05.02 5 * 6 * This file contains: 7 * - Definitions 8 * - Types 9 * . 10 * which are relevant for the Esm driver. 11 */ 12 13 /* (c) Texas Instruments 2009-2013, All rights reserved. */ 14 15 #ifndef __ESM_H__ 16 #define __ESM_H__ 17 18 #include "reg_esm.h" 19 20 21 22 /* USER CODE BEGIN (0) */ 23 /* USER CODE END */ 24 25 /* ESM General Definitions */ 26 27 /** @def esmGROUP1 28 * @brief Alias name for ESM group 1 29 * 30 * This is an alias name for the ESM group 1. 31 * 32 * @note This value should be used for API argument @a group 33 */ 34 #define esmGROUP1 0U 35 36 /** @def esmGROUP2 37 * @brief Alias name for ESM group 2 38 * 39 * This is an alias name for the ESM group 2. 40 * 41 * @note This value should be used for API argument @a group 42 */ 43 #define esmGROUP2 1U 44 45 /** @def esmGROUP3 46 * @brief Alias name for ESM group 3 47 * 48 * This is an alias name for the ESM group 3. 49 * 50 * @note This value should be used for API argument @a group 51 */ 52 #define esmGROUP3 2U 53 54 /** @def esmCHANNEL0 55 * @brief Alias name for ESM group x channel 0 56 * 57 * This is an alias name for the ESM group x channel 0. 58 * 59 * @note This value should be used for API argument @a channel 60 */ 61 #define esmCHANNEL0 0x0000000000000001ULL 62 63 /** @def esmCHANNEL1 64 * @brief Alias name for ESM group x channel 1 65 * 66 * This is an alias name for the ESM group x channel 1. 67 * 68 * @note This value should be used for API argument @a channel 69 */ 70 #define esmCHANNEL1 0x0000000000000002ULL 71 72 /** @def esmCHANNEL2 73 * @brief Alias name for ESM group x channel 2 74 * 75 * This is an alias name for the ESM group x channel 2. 76 * 77 * @note This value should be used for API argument @a channel 78 */ 79 #define esmCHANNEL2 0x0000000000000004ULL 80 81 /** @def esmCHANNEL3 82 * @brief Alias name for ESM group x channel 3 83 * 84 * This is an alias name for the ESM group x channel 3. 85 * 86 * @note This value should be used for API argument @a channel 87 */ 88 #define esmCHANNEL3 0x0000000000000008ULL 89 90 /** @def esmCHANNEL4 91 * @brief Alias name for ESM group x channel 4 92 * 93 * This is an alias name for the ESM group x channel 4. 94 * 95 * @note This value should be used for API argument @a channel 96 */ 97 #define esmCHANNEL4 0x0000000000000010ULL 98 99 /** @def esmCHANNEL5 100 * @brief Alias name for ESM group x channel 5 101 * 102 * This is an alias name for the ESM group x channel 5. 103 * 104 * @note This value should be used for API argument @a channel 105 */ 106 #define esmCHANNEL5 0x0000000000000020ULL 107 108 /** @def esmCHANNEL6 109 * @brief Alias name for ESM group x channel 6 110 * 111 * This is an alias name for the ESM group x channel 6. 112 * 113 * @note This value should be used for API argument @a channel 114 */ 115 #define esmCHANNEL6 0x0000000000000040ULL 116 117 /** @def esmCHANNEL7 118 * @brief Alias name for ESM group x channel 7 119 * 120 * This is an alias name for the ESM group x channel 7. 121 * 122 * @note This value should be used for API argument @a channel 123 */ 124 #define esmCHANNEL7 0x0000000000000080ULL 125 126 /** @def esmCHANNEL8 127 * @brief Alias name for ESM group x channel 8 128 * 129 * This is an alias name for the ESM group x channel 8. 130 * 131 * @note This value should be used for API argument @a channel 132 */ 133 #define esmCHANNEL8 0x0000000000000100ULL 134 135 /** @def esmCHANNEL9 136 * @brief Alias name for ESM group x channel 9 137 * 138 * This is an alias name for the ESM group x channel 9. 139 * 140 * @note This value should be used for API argument @a channel 141 */ 142 #define esmCHANNEL9 0x0000000000000200ULL 143 144 /** @def esmCHANNEL10 145 * @brief Alias name for ESM group x channel 10 146 * 147 * This is an alias name for the ESM group x channel 10. 148 * 149 * @note This value should be used for API argument @a channel 150 */ 151 #define esmCHANNEL10 0x0000000000000400ULL 152 153 /** @def esmCHANNEL11 154 * @brief Alias name for ESM group x channel 11 155 * 156 * This is an alias name for the ESM group x channel 11. 157 * 158 * @note This value should be used for API argument @a channel 159 */ 160 #define esmCHANNEL11 0x0000000000000800ULL 161 162 /** @def esmCHANNEL12 163 * @brief Alias name for ESM group x channel 12 164 * 165 * This is an alias name for the ESM group x channel 12. 166 * 167 * @note This value should be used for API argument @a channel 168 */ 169 #define esmCHANNEL12 0x0000000000001000ULL 170 171 /** @def esmCHANNEL13 172 * @brief Alias name for ESM group x channel 13 173 * 174 * This is an alias name for the ESM group x channel 13. 175 * 176 * @note This value should be used for API argument @a channel 177 */ 178 #define esmCHANNEL13 0x0000000000002000ULL 179 180 /** @def esmCHANNEL14 181 * @brief Alias name for ESM group x channel 14 182 * 183 * This is an alias name for the ESM group x channel 14. 184 * 185 * @note This value should be used for API argument @a channel 186 */ 187 #define esmCHANNEL14 0x0000000000004000ULL 188 189 /** @def esmCHANNEL15 190 * @brief Alias name for ESM group x channel 15 191 * 192 * This is an alias name for the ESM group x channel 15. 193 * 194 * @note This value should be used for API argument @a channel 195 */ 196 #define esmCHANNEL15 0x0000000000008000ULL 197 198 /** @def esmCHANNEL16 199 * @brief Alias name for ESM group x channel 16 200 * 201 * This is an alias name for the ESM group x channel 16. 202 * 203 * @note This value should be used for API argument @a channel 204 */ 205 #define esmCHANNEL16 0x0000000000010000ULL 206 207 /** @def esmCHANNEL17 208 * @brief Alias name for ESM group x channel 17 209 * 210 * This is an alias name for the ESM group x channel 17. 211 * 212 * @note This value should be used for API argument @a channel 213 */ 214 #define esmCHANNEL17 0x0000000000020000ULL 215 216 /** @def esmCHANNEL18 217 * @brief Alias name for ESM group x channel 18 218 * 219 * This is an alias name for the ESM group x channel 18. 220 * 221 * @note This value should be used for API argument @a channel 222 */ 223 #define esmCHANNEL18 0x0000000000040000ULL 224 225 /** @def esmCHANNEL19 226 * @brief Alias name for ESM group x channel 19 227 * 228 * This is an alias name for the ESM group x channel 19. 229 * 230 * @note This value should be used for API argument @a channel 231 */ 232 #define esmCHANNEL19 0x0000000000080000ULL 233 234 /** @def esmCHANNEL20 235 * @brief Alias name for ESM group x channel 20 236 * 237 * This is an alias name for the ESM group x channel 20. 238 * 239 * @note This value should be used for API argument @a channel 240 */ 241 #define esmCHANNEL20 0x0000000000100000ULL 242 243 /** @def esmCHANNEL21 244 * @brief Alias name for ESM group x channel 21 245 * 246 * This is an alias name for the ESM group x channel 21. 247 * 248 * @note This value should be used for API argument @a channel 249 */ 250 #define esmCHANNEL21 0x0000000000200000ULL 251 252 /** @def esmCHANNEL22 253 * @brief Alias name for ESM group x channel 22 254 * 255 * This is an alias name for the ESM group x channel 22. 256 * 257 * @note This value should be used for API argument @a channel 258 */ 259 #define esmCHANNEL22 0x0000000000400000ULL 260 261 /** @def esmCHANNEL23 262 * @brief Alias name for ESM group x channel 23 263 * 264 * This is an alias name for the ESM group x channel 23. 265 * 266 * @note This value should be used for API argument @a channel 267 */ 268 #define esmCHANNEL23 0x0000000000800000ULL 269 270 /** @def esmCHANNEL24 271 * @brief Alias name for ESM group x channel 24 272 * 273 * This is an alias name for the ESM group x channel 24. 274 * 275 * @note This value should be used for API argument @a channel 276 */ 277 #define esmCHANNEL24 0x0000000001000000ULL 278 279 /** @def esmCHANNEL25 280 * @brief Alias name for ESM group x channel 25 281 * 282 * This is an alias name for the ESM group x channel 25. 283 * 284 * @note This value should be used for API argument @a channel 285 */ 286 #define esmCHANNEL25 0x0000000002000000ULL 287 288 /** @def esmCHANNEL26 289 * @brief Alias name for ESM group x channel 26 290 * 291 * This is an alias name for the ESM group x channel 26. 292 * 293 * @note This value should be used for API argument @a channel 294 */ 295 #define esmCHANNEL26 0x0000000004000000ULL 296 297 /** @def esmCHANNEL27 298 * @brief Alias name for ESM group x channel 27 299 * 300 * This is an alias name for the ESM group x channel 27. 301 * 302 * @note This value should be used for API argument @a channel 303 */ 304 #define esmCHANNEL27 0x0000000008000000ULL 305 306 /** @def esmCHANNEL28 307 * @brief Alias name for ESM group x channel 28 308 * 309 * This is an alias name for the ESM group x channel 28. 310 * 311 * @note This value should be used for API argument @a channel 312 */ 313 #define esmCHANNEL28 0x0000000010000000ULL 314 315 /** @def esmCHANNEL29 316 * @brief Alias name for ESM group x channel 29 317 * 318 * This is an alias name for the ESM group x channel 29. 319 * 320 * @note This value should be used for API argument @a channel 321 */ 322 #define esmCHANNEL29 0x0000000020000000ULL 323 324 /** @def esmCHANNEL30 325 * @brief Alias name for ESM group x channel 30 326 * 327 * This is an alias name for the ESM group x channel 30. 328 * 329 * @note This value should be used for API argument @a channel 330 */ 331 #define esmCHANNEL30 0x0000000040000000ULL 332 333 /** @def esmCHANNEL31 334 * @brief Alias name for ESM group x channel 31 335 * 336 * This is an alias name for the ESM group x channel 31. 337 * 338 * @note This value should be used for API argument @a channel 339 */ 340 #define esmCHANNEL31 0x0000000080000000ULL 341 342 /** @def esmCHANNEL32 343 * @brief Alias name for ESM group x channel 32 344 * 345 * This is an alias name for the ESM group x channel 32. 346 * 347 * @note This value should be used for API argument @a channel 348 */ 349 #define esmCHANNEL32 0x0000000100000000ULL 350 351 /** @def esmCHANNEL33 352 * @brief Alias name for ESM group x channel 33 353 * 354 * This is an alias name for the ESM group x channel 33. 355 * 356 * @note This value should be used for API argument @a channel 357 */ 358 #define esmCHANNEL33 0x0000000200000000ULL 359 360 /** @def esmCHANNEL34 361 * @brief Alias name for ESM group x channel 34 362 * 363 * This is an alias name for the ESM group x channel 34. 364 * 365 * @note This value should be used for API argument @a channel 366 */ 367 #define esmCHANNEL34 0x0000000400000000ULL 368 369 /** @def esmCHANNEL35 370 * @brief Alias name for ESM group x channel 35 371 * 372 * This is an alias name for the ESM group x channel 35. 373 * 374 * @note This value should be used for API argument @a channel 375 */ 376 #define esmCHANNEL35 0x0000000800000000ULL 377 378 /** @def esmCHANNEL36 379 * @brief Alias name for ESM group x channel 36 380 * 381 * This is an alias name for the ESM group x channel 36. 382 * 383 * @note This value should be used for API argument @a channel 384 */ 385 #define esmCHANNEL36 0x0000001000000000ULL 386 387 /** @def esmCHANNEL37 388 * @brief Alias name for ESM group x channel 37 389 * 390 * This is an alias name for the ESM group x channel 37. 391 * 392 * @note This value should be used for API argument @a channel 393 */ 394 #define esmCHANNEL37 0x0000002000000000ULL 395 396 /** @def esmCHANNEL38 397 * @brief Alias name for ESM group x channel 38 398 * 399 * This is an alias name for the ESM group x channel 38. 400 * 401 * @note This value should be used for API argument @a channel 402 */ 403 #define esmCHANNEL38 0x0000004000000000ULL 404 405 /** @def esmCHANNEL39 406 * @brief Alias name for ESM group x channel 39 407 * 408 * This is an alias name for the ESM group x channel 39. 409 * 410 * @note This value should be used for API argument @a channel 411 */ 412 #define esmCHANNEL39 0x0000008000000000ULL 413 414 /** @def esmCHANNEL40 415 * @brief Alias name for ESM group x channel 40 416 * 417 * This is an alias name for the ESM group x channel 40. 418 * 419 * @note This value should be used for API argument @a channel 420 */ 421 #define esmCHANNEL40 0x0000010000000000ULL 422 423 /** @def esmCHANNEL41 424 * @brief Alias name for ESM group x channel 41 425 * 426 * This is an alias name for the ESM group x channel 41. 427 * 428 * @note This value should be used for API argument @a channel 429 */ 430 #define esmCHANNEL41 0x0000020000000000ULL 431 432 /** @def esmCHANNEL42 433 * @brief Alias name for ESM group x channel 42 434 * 435 * This is an alias name for the ESM group x channel 42. 436 * 437 * @note This value should be used for API argument @a channel 438 */ 439 #define esmCHANNEL42 0x0000040000000000ULL 440 441 /** @def esmCHANNEL43 442 * @brief Alias name for ESM group x channel 43 443 * 444 * This is an alias name for the ESM group x channel 43. 445 * 446 * @note This value should be used for API argument @a channel 447 */ 448 #define esmCHANNEL43 0x0000080000000000ULL 449 450 /** @def esmCHANNEL44 451 * @brief Alias name for ESM group x channel 44 452 * 453 * This is an alias name for the ESM group x channel 44. 454 * 455 * @note This value should be used for API argument @a channel 456 */ 457 #define esmCHANNEL44 0x0000100000000000ULL 458 459 /** @def esmCHANNEL45 460 * @brief Alias name for ESM group x channel 45 461 * 462 * This is an alias name for the ESM group x channel 45. 463 * 464 * @note This value should be used for API argument @a channel 465 */ 466 #define esmCHANNEL45 0x0000200000000000ULL 467 468 /** @def esmCHANNEL46 469 * @brief Alias name for ESM group x channel 46 470 * 471 * This is an alias name for the ESM group x channel 46. 472 * 473 * @note This value should be used for API argument @a channel 474 */ 475 #define esmCHANNEL46 0x0000400000000000ULL 476 477 /** @def esmCHANNEL47 478 * @brief Alias name for ESM group x channel 47 479 * 480 * This is an alias name for the ESM group x channel 47. 481 * 482 * @note This value should be used for API argument @a channel 483 */ 484 #define esmCHANNEL47 0x0000800000000000ULL 485 486 /** @def esmCHANNEL48 487 * @brief Alias name for ESM group x channel 48 488 * 489 * This is an alias name for the ESM group x channel 48. 490 * 491 * @note This value should be used for API argument @a channel 492 */ 493 #define esmCHANNEL48 0x0001000000000000ULL 494 495 /** @def esmCHANNEL49 496 * @brief Alias name for ESM group x channel 49 497 * 498 * This is an alias name for the ESM group x channel 49. 499 * 500 * @note This value should be used for API argument @a channel 501 */ 502 #define esmCHANNEL49 0x0002000000000000ULL 503 504 /** @def esmCHANNEL50 505 * @brief Alias name for ESM group x channel 50 506 * 507 * This is an alias name for the ESM group x channel 50. 508 * 509 * @note This value should be used for API argument @a channel 510 */ 511 #define esmCHANNEL50 0x0004000000000000ULL 512 513 /** @def esmCHANNEL51 514 * @brief Alias name for ESM group x channel 51 515 * 516 * This is an alias name for the ESM group x channel 51. 517 * 518 * @note This value should be used for API argument @a channel 519 */ 520 #define esmCHANNEL51 0x0008000000000000ULL 521 522 /** @def esmCHANNEL52 523 * @brief Alias name for ESM group x channel 52 524 * 525 * This is an alias name for the ESM group x channel 52. 526 * 527 * @note This value should be used for API argument @a channel 528 */ 529 #define esmCHANNEL52 0x0010000000000000ULL 530 531 /** @def esmCHANNEL53 532 * @brief Alias name for ESM group x channel 53 533 * 534 * This is an alias name for the ESM group x channel 53. 535 * 536 * @note This value should be used for API argument @a channel 537 */ 538 #define esmCHANNEL53 0x0020000000000000ULL 539 540 /** @def esmCHANNEL54 541 * @brief Alias name for ESM group x channel 54 542 * 543 * This is an alias name for the ESM group x channel 54. 544 * 545 * @note This value should be used for API argument @a channel 546 */ 547 #define esmCHANNEL54 0x0040000000000000ULL 548 549 /** @def esmCHANNEL55 550 * @brief Alias name for ESM group x channel 55 551 * 552 * This is an alias name for the ESM group x channel 55. 553 * 554 * @note This value should be used for API argument @a channel 555 */ 556 #define esmCHANNEL55 0x0080000000000000ULL 557 558 /** @def esmCHANNEL56 559 * @brief Alias name for ESM group x channel 56 560 * 561 * This is an alias name for the ESM group x channel 56. 562 * 563 * @note This value should be used for API argument @a channel 564 */ 565 #define esmCHANNEL56 0x0100000000000000ULL 566 567 /** @def esmCHANNEL57 568 * @brief Alias name for ESM group x channel 57 569 * 570 * This is an alias name for the ESM group x channel 57. 571 * 572 * @note This value should be used for API argument @a channel 573 */ 574 #define esmCHANNEL57 0x0200000000000000ULL 575 576 /** @def esmCHANNEL58 577 * @brief Alias name for ESM group x channel 58 578 * 579 * This is an alias name for the ESM group x channel 58. 580 * 581 * @note This value should be used for API argument @a channel 582 */ 583 #define esmCHANNEL58 0x0400000000000000ULL 584 585 /** @def esmCHANNEL59 586 * @brief Alias name for ESM group x channel 59 587 * 588 * This is an alias name for the ESM group x channel 59. 589 * 590 * @note This value should be used for API argument @a channel 591 */ 592 #define esmCHANNEL59 0x0800000000000000ULL 593 594 /** @def esmCHANNEL60 595 * @brief Alias name for ESM group x channel 60 596 * 597 * This is an alias name for the ESM group x channel 60. 598 * 599 * @note This value should be used for API argument @a channel 600 */ 601 #define esmCHANNEL60 0x1000000000000000ULL 602 603 /** @def esmCHANNEL61 604 * @brief Alias name for ESM group x channel 61 605 * 606 * This is an alias name for the ESM group x channel 61. 607 * 608 * @note This value should be used for API argument @a channel 609 */ 610 #define esmCHANNEL61 0x2000000000000000ULL 611 612 /** @def esmCHANNEL62 613 * @brief Alias name for ESM group x channel 62 614 * 615 * This is an alias name for the ESM group x channel 62. 616 * 617 * @note This value should be used for API argument @a channel 618 */ 619 #define esmCHANNEL62 0x4000000000000000ULL 620 621 /** @def esmCHANNEL63 622 * @brief Alias name for ESM group x channel 63 623 * 624 * This is an alias name for the ESM group x channel 63. 625 * 626 * @note This value should be used for API argument @a channel 627 */ 628 #define esmCHANNEL63 0x8000000000000000ULL 629 630 /** @typedef esmSelfTestFlag_t 631 * @brief ESM Self-Test Status Type Definition 632 * 633 * This type is used to represent ESM Self-Test Status. 634 */ 635 typedef enum esmSelfTestFlag 636 { 637 esmSelfTest_Passed = 0U, 638 esmSelfTest_Active = 1U, 639 esmSelfTest_NotStarted = 2U, 640 esmSelfTest_Failed = 3U 641 }esmSelfTestFlag_t; 642 643 /* Configuration registers */ 644 typedef struct esm_config_reg 645 { 646 uint32 CONFIG_EPENASET1; 647 uint32 CONFIG_INTENASET1; 648 uint32 CONFIG_INTLVLSET1; 649 uint32 CONFIG_LTCPRELOAD; 650 uint32 CONFIG_KEY; 651 uint32 CONFIG_EPENASET4; 652 uint32 CONFIG_INTENASET4; 653 uint32 CONFIG_INTLVLSET4; 654 } esm_config_reg_t; 655 656 /* Configuration registers initial value */ 657 #define ESM_EPENASET1_CONFIGVALUE (0U << 31U)\ 658 | (0U << 30U)\ 659 | (0U << 29U)\ 660 | (0U << 28U)\ 661 | (0U << 27U)\ 662 | (0U << 26U)\ 663 | (0U << 25U)\ 664 | (0U << 24U)\ 665 | (0U << 23U)\ 666 | (0U << 22U)\ 667 | (0U << 21U)\ 668 | (0U << 20U)\ 669 | (0U << 19U)\ 670 | (0U << 18U)\ 671 | (0U << 17U)\ 672 | (0U << 16U)\ 673 | (0U << 15U)\ 674 | (0U << 14U)\ 675 | (0U << 13U)\ 676 | (0U << 12U)\ 677 | (0U << 11U)\ 678 | (0U << 10U)\ 679 | (0U << 9U)\ 680 | (0U << 8U)\ 681 | (0U << 7U)\ 682 | (0U << 6U)\ 683 | (0U << 5U)\ 684 | (0U << 4U)\ 685 | (0U << 3U)\ 686 | (0U << 2U)\ 687 | (0U << 1U)\ 688 | (0U) 689 #define ESM_INTENASET1_CONFIGVALUE (0U << 31U)\ 690 | (0U << 30U)\ 691 | (0U << 29U)\ 692 | (0U << 28U)\ 693 | (0U << 27U)\ 694 | (0U << 26U)\ 695 | (0U << 25U)\ 696 | (0U << 24U)\ 697 | (0U << 23U)\ 698 | (0U << 22U)\ 699 | (0U << 21U)\ 700 | (0U << 20U)\ 701 | (0U << 19U)\ 702 | (0U << 18U)\ 703 | (0U << 17U)\ 704 | (0U << 16U)\ 705 | (0U << 15U)\ 706 | (0U << 14U)\ 707 | (0U << 13U)\ 708 | (0U << 12U)\ 709 | (0U << 11U)\ 710 | (0U << 10U)\ 711 | (0U << 9U)\ 712 | (0U << 8U)\ 713 | (0U << 7U)\ 714 | (0U << 6U)\ 715 | (0U << 5U)\ 716 | (0U << 4U)\ 717 | (0U << 3U)\ 718 | (0U << 2U)\ 719 | (0U << 1U)\ 720 | (0U) 721 #define ESM_INTLVLSET1_CONFIGVALUE (0U << 31U)\ 722 | (0U << 30U)\ 723 | (0U << 29U)\ 724 | (0U << 28U)\ 725 | (0U << 27U)\ 726 | (0U << 26U)\ 727 | (0U << 25U)\ 728 | (0U << 24U)\ 729 | (0U << 23U)\ 730 | (0U << 22U)\ 731 | (0U << 21U)\ 732 | (0U << 20U)\ 733 | (0U << 19U)\ 734 | (0U << 18U)\ 735 | (0U << 17U)\ 736 | (0U << 16U)\ 737 | (0U << 15U)\ 738 | (0U << 14U)\ 739 | (0U << 13U)\ 740 | (0U << 12U)\ 741 | (0U << 11U)\ 742 | (0U << 10U)\ 743 | (0U << 9U)\ 744 | (0U << 8U)\ 745 | (0U << 7U)\ 746 | (0U << 6U)\ 747 | (0U << 5U)\ 748 | (0U << 4U)\ 749 | (0U << 3U)\ 750 | (0U << 2U)\ 751 | (0U << 1U)\ 752 | (0U) 753 #define ESM_LTCPRELOAD_CONFIGVALUE 16384U - 1U 754 #define ESM_KEY_CONFIGVALUE 0U 755 #define ESM_EPENASET4_CONFIGVALUE (0U << 31U)\ 756 | (0U << 30U)\ 757 | (0U << 29U)\ 758 | (0U << 28U)\ 759 | (0U << 27U)\ 760 | (0U << 26U)\ 761 | (0U << 25U)\ 762 | (0U << 24U)\ 763 | (0U << 23U)\ 764 | (0U << 22U)\ 765 | (0U << 21U)\ 766 | (0U << 20U)\ 767 | (0U << 19U)\ 768 | (0U << 18U)\ 769 | (0U << 17U)\ 770 | (0U << 16U)\ 771 | (0U << 15U)\ 772 | (0U << 14U)\ 773 | (0U << 13U)\ 774 | (0U << 12U)\ 775 | (0U << 11U)\ 776 | (0U << 10U)\ 777 | (0U << 9U)\ 778 | (0U << 8U)\ 779 | (0U << 7U)\ 780 | (0U << 6U)\ 781 | (0U << 5U)\ 782 | (0U << 4U)\ 783 | (0U << 3U)\ 784 | (0U << 2U)\ 785 | (0U << 1U)\ 786 | (0U) 787 #define ESM_INTENASET4_CONFIGVALUE (0U << 31U)\ 788 | (0U << 30U)\ 789 | (0U << 29U)\ 790 | (0U << 28U)\ 791 | (0U << 27U)\ 792 | (0U << 26U)\ 793 | (0U << 25U)\ 794 | (0U << 24U)\ 795 | (0U << 23U)\ 796 | (0U << 22U)\ 797 | (0U << 21U)\ 798 | (0U << 20U)\ 799 | (0U << 19U)\ 800 | (0U << 18U)\ 801 | (0U << 17U)\ 802 | (0U << 16U)\ 803 | (0U << 15U)\ 804 | (0U << 14U)\ 805 | (0U << 13U)\ 806 | (0U << 12U)\ 807 | (0U << 11U)\ 808 | (0U << 10U)\ 809 | (0U << 9U)\ 810 | (0U << 8U)\ 811 | (0U << 7U)\ 812 | (0U << 6U)\ 813 | (0U << 5U)\ 814 | (0U << 4U)\ 815 | (0U << 3U)\ 816 | (0U << 2U)\ 817 | (0U << 1U)\ 818 | (0U) 819 #define ESM_INTLVLSET4_CONFIGVALUE (0U << 31U)\ 820 | (0U << 30U)\ 821 | (0U << 29U)\ 822 | (0U << 28U)\ 823 | (0U << 27U)\ 824 | (0U << 26U)\ 825 | (0U << 25U)\ 826 | (0U << 24U)\ 827 | (0U << 23U)\ 828 | (0U << 22U)\ 829 | (0U << 21U)\ 830 | (0U << 20U)\ 831 | (0U << 19U)\ 832 | (0U << 18U)\ 833 | (0U << 17U)\ 834 | (0U << 16U)\ 835 | (0U << 15U)\ 836 | (0U << 14U)\ 837 | (0U << 13U)\ 838 | (0U << 12U)\ 839 | (0U << 11U)\ 840 | (0U << 10U)\ 841 | (0U << 9U)\ 842 | (0U << 8U)\ 843 | (0U << 7U)\ 844 | (0U << 6U)\ 845 | (0U << 5U)\ 846 | (0U << 4U)\ 847 | (0U << 3U)\ 848 | (0U << 2U)\ 849 | (0U << 1U)\ 850 | (0U) 851 852 853 /* USER CODE BEGIN (1) */ 854 /* USER CODE END */ 855 856 /** 857 * @defgroup ESM ESM 858 * @brief Error Signaling Module. 859 * 860 * The ESM module aggregates device errors and provides internal and external error response based on error severity. 861 * 862 * Related Files 863 * - reg_esm.h 864 * - esm.h 865 * - esm.c 866 * @addtogroup ESM 867 * @{ 868 */ 869 870 /* Esm Interface Functions */ 871 void esmInit(void); 872 uint32 esmError(void); 873 void esmEnableError(uint64 channels); 874 void esmDisableError(uint64 channels); 875 void esmTriggerErrorPinReset(void); 876 void esmActivateNormalOperation(void); 877 void esmEnableInterrupt(uint64 channels); 878 void esmDisableInterrupt(uint64 channels); 879 void esmSetInterruptLevel(uint64 channels, uint64 flags); 880 void esmClearStatus(uint32 group, uint64 channels); 881 void esmClearStatusBuffer(uint64 channels); 882 void esmSetCounterPreloadValue(uint32 value); 883 884 uint64 esmGetStatus(uint32 group, uint64 channels); 885 uint64 esmGetStatusBuffer(uint64 channels); 886 887 esmSelfTestFlag_t esmEnterSelfTest(void); 888 esmSelfTestFlag_t esmSelfTestStatus(void); 889 890 boolean esmSelfTest(void); 891 892 void esmGetConfigValue(esm_config_reg_t *config_reg, config_value_type_t type); 893 /** @fn void esmGroup1Notification(uint32 channel) 894 * @brief Interrupt callback 895 * @param[in] channel - Group 1 channel 896 * 897 * This is a callback that is provided by the application and is called upon 898 * an interrupt. The parameter passed to the callback is group 1 channel caused the interrupt. 899 */ 900 void esmGroup1Notification(uint32 channel); 901 902 903 /** @fn void esmGroup2Notification(uint32 channel) 904 * @brief Interrupt callback 905 * @param[in] channel - Group 2 channel 906 * 907 * This is a callback that is provided by the application and is called upon 908 * an interrupt. The parameter passed to the callback is group 2 channel caused the interrupt. 909 */ 910 void esmGroup2Notification(uint32 channel); 911 912 /**@}*/ 913 /* USER CODE BEGIN (2) */ 914 /* USER CODE END */ 915 916 917 #endif 918