@@ -67,15 +67,33 @@ namespace klib::rp2350 {
6767 *
6868 * @tparam Irq
6969 */
70- template <irq ::arm_vector Irq, uint8_t Priority>
70+ template <irq0 ::arm_vector Irq, uint8_t Priority>
7171 static void interrupt_priority () {
72- static_assert (static_cast <uint32_t >(Irq) >= static_cast <uint32_t >(irq ::arm_vector::count), " Invalid IRQ given to set priority" );
72+ static_assert (static_cast <uint32_t >(Irq) >= static_cast <uint32_t >(irq0 ::arm_vector::count), " Invalid IRQ given to set priority" );
7373 static_assert (Priority < (1U << __NVIC_PRIO_BITS), " Invalid priority given to set priority" );
7474
7575 // set the priority
7676 NVIC_SetPriority (
7777 static_cast <IRQn_Type>(
78- static_cast <uint32_t >(Irq) - static_cast <uint32_t >(irq::arm_vector::count)),
78+ static_cast <uint32_t >(Irq) - static_cast <uint32_t >(irq0::arm_vector::count)),
79+ Priority
80+ );
81+ }
82+
83+ /* *
84+ * @brief Set the priority of a interrupt
85+ *
86+ * @tparam Irq
87+ */
88+ template <irq1::arm_vector Irq, uint8_t Priority>
89+ static void interrupt_priority () {
90+ static_assert (static_cast <uint32_t >(Irq) >= static_cast <uint32_t >(irq1::arm_vector::count), " Invalid IRQ given to set priority" );
91+ static_assert (Priority < (1U << __NVIC_PRIO_BITS), " Invalid priority given to set priority" );
92+
93+ // set the priority
94+ NVIC_SetPriority (
95+ static_cast <IRQn_Type>(
96+ static_cast <uint32_t >(Irq) - static_cast <uint32_t >(irq1::arm_vector::count)),
7997 Priority
8098 );
8199 }
@@ -87,11 +105,11 @@ namespace klib::rp2350 {
87105 */
88106 template <uint32_t Irq, uint8_t Priority>
89107 static void interrupt_priority () {
90- static_assert (Irq >= static_cast <uint32_t >(irq ::arm_vector::count), " Invalid IRQ given to set priority" );
108+ static_assert (Irq >= static_cast <uint32_t >(irq0 ::arm_vector::count), " Invalid IRQ given to set priority" );
91109 static_assert (Priority < (1U << __NVIC_PRIO_BITS), " Invalid priority given to set priority" );
92110
93111 // set the priority
94- NVIC_SetPriority (static_cast <IRQn_Type>(Irq - static_cast <uint32_t >(irq ::arm_vector::count)), Priority);
112+ NVIC_SetPriority (static_cast <IRQn_Type>(Irq - static_cast <uint32_t >(irq0 ::arm_vector::count)), Priority);
95113 }
96114}
97115
0 commit comments