interrupts() and noInterrupts() do not have any definition.
bimalpaneru opened this issue · 9 comments
Without interrupts() and noInterrupts() there is compilation error Arduino LMIC library, Hard to have the RF95 module get working
Thanks @paulvha appreciate it!!
The definitions for interrupts
and noInterrupts
are as below (from arduino-mbed-bridge/core-extend/Common.h):
#define interrupts() (void)am_hal_interrupt_master_disable()
#define noInterrupts() (void) am_hal_interrupt_master_enable()
Does that seem backwards to you?
interrupts
should globally enable interrupts and noInterrupts
globally disable them.
I couldn't find the specific code to see what's going on with the registers, but the words and the actions don't seem to match.
That is what they do.
They are defined in SparkFun/hardware/apollo3/2.2.1/cores/arduino/mbed-bridge/core-extend/common.h (line 54)
I am observing the opposite effects.
interrupts()
should be defined with am_hal_interrupt_master_enable()
to enable interrupts.
It is currently defined with am_hal_interrupt_master_disable()
.
The definitions are incorrect and should be switched.
@paulvha
Also, I couldn't follow your pathing in this repo.
I'm assuming it's the same file that I linked above, which contains the definitions, but line 54 refers to indexTone
.
Are we looking at the same file?
you are correct that it works the opposite :
#define interrupts() (void)am_hal_interrupt_master_disable()
#define noInterrupts() (void) am_hal_interrupt_master_enable()
As it related to the line 54.. I have made changes to that file. The original version 2.2.1, same file, but lines 40 and 41
Hi @paulvha (or maybe @gigapod), if I checkout the most recent release v2.2.2
:
$ git clone --recurse-submodules --branch v2.2.2 --depth 1 https://github.com/sparkfun/Arduino_Apollo3.git
Cloning into 'Arduino_Apollo3'...
remote: Enumerating objects: 280, done.
remote: Counting objects: 100% (280/280), done.
remote: Compressing objects: 100% (232/232), done.
remote: Total 280 (delta 83), reused 139 (delta 34), pack-reused 0
Receiving objects: 100% (280/280), 2.63 MiB | 2.03 MiB/s, done.
Resolving deltas: 100% (83/83), done.
Note: switching to '9f3dc4d88e9a42f262c15b756c82e6beb4897b6f'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
Submodule 'cores/arduino/mbed-bridge' (https://github.com/sparkfun/arduino-mbed-bridge) registered for path 'cores/arduino/mbed-bridge'
Submodule 'cores/mbed-os' (https://github.com/sparkfun/mbed-os-ambiq-apollo3) registered for path 'cores/mbed-os'
Submodule 'tools/keywords_gen' (https://github.com/sparkfun/Keyword_File_Generator) registered for path 'tools/keywords_gen'
Submodule 'tools/uploaders/asb' (https://github.com/sparkfun/Apollo3_Uploader_ASB) registered for path 'tools/uploaders/asb'
Submodule 'tools/uploaders/svl' (https://github.com/sparkfun/Apollo3_Uploader_SVL) registered for path 'tools/uploaders/svl'
Cloning into '/home/user/Documents/Arduino_Apollo3/cores/arduino/mbed-bridge'...
remote: Enumerating objects: 199, done.
remote: Counting objects: 100% (199/199), done.
remote: Compressing objects: 100% (116/116), done.
remote: Total 199 (delta 118), reused 149 (delta 70), pack-reused 0
Receiving objects: 100% (199/199), 34.99 KiB | 1.09 MiB/s, done.
Resolving deltas: 100% (118/118), done.
Cloning into '/home/user/Documents/Arduino_Apollo3/cores/mbed-os'...
remote: Enumerating objects: 321427, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 321427 (delta 0), reused 29 (delta 0), pack-reused 321391
Receiving objects: 100% (321427/321427), 386.86 MiB | 12.27 MiB/s, done.
Resolving deltas: 100% (223002/223002), done.
Cloning into '/home/user/Documents/Arduino_Apollo3/tools/keywords_gen'...
remote: Enumerating objects: 62, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 62 (delta 0), reused 1 (delta 0), pack-reused 58
Receiving objects: 100% (62/62), 742.58 KiB | 4.15 MiB/s, done.
Resolving deltas: 100% (26/26), done.
Cloning into '/home/user/Documents/Arduino_Apollo3/tools/uploaders/asb'...
remote: Enumerating objects: 574, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 574 (delta 2), reused 12 (delta 1), pack-reused 558
Receiving objects: 100% (574/574), 149.29 MiB | 11.91 MiB/s, done.
Resolving deltas: 100% (235/235), done.
Cloning into '/home/user/Documents/Arduino_Apollo3/tools/uploaders/svl'...
remote: Enumerating objects: 676, done.
remote: Counting objects: 100% (201/201), done.
remote: Compressing objects: 100% (82/82), done.
remote: Total 676 (delta 94), reused 184 (delta 83), pack-reused 475
Receiving objects: 100% (676/676), 204.96 MiB | 12.39 MiB/s, done.
Resolving deltas: 100% (285/285), done.
remote: Enumerating objects: 64, done.
remote: Counting objects: 100% (64/64), done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 61 (delta 25), reused 60 (delta 24), pack-reused 0
Unpacking objects: 100% (61/61), 42.89 KiB | 618.00 KiB/s, done.
From https://github.com/sparkfun/arduino-mbed-bridge
* branch 25fe1981fe509217059f093395372e1ffcbd6335 -> FETCH_HEAD
Submodule path 'cores/arduino/mbed-bridge': checked out '25fe1981fe509217059f093395372e1ffcbd6335'
remote: Enumerating objects: 1734, done.
remote: Counting objects: 100% (392/392), done.
remote: Total 1734 (delta 392), reused 392 (delta 392), pack-reused 1342
Receiving objects: 100% (1734/1734), 5.68 MiB | 10.83 MiB/s, done.
Resolving deltas: 100% (991/991), completed with 49 local objects.
From https://github.com/sparkfun/mbed-os-ambiq-apollo3
* branch 50912b669e4b9ba484d534484190a4a362926c2f -> FETCH_HEAD
Submodule path 'cores/mbed-os': checked out '50912b669e4b9ba484d534484190a4a362926c2f'
remote: Enumerating objects: 33, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 30 (delta 13), reused 30 (delta 13), pack-reused 0
Unpacking objects: 100% (30/30), 9.31 KiB | 3.10 MiB/s, done.
From https://github.com/sparkfun/Keyword_File_Generator
* branch 483ce55047a2adb3210eddd3bff2a05f658a4373 -> FETCH_HEAD
Submodule path 'tools/keywords_gen': checked out '483ce55047a2adb3210eddd3bff2a05f658a4373'
Submodule path 'tools/uploaders/asb': checked out '454fc619ce9371016f7bbdbb875aed2e197ea1ce'
Submodule path 'tools/uploaders/svl': checked out '54a37d5009fd8bb4e5c9770cabd4bed984ac7c98'
Then have a look at the submodules:
$ git submodule
25fe1981fe509217059f093395372e1ffcbd6335 cores/arduino/mbed-bridge (heads/master-5-g25fe198)
50912b669e4b9ba484d534484190a4a362926c2f cores/mbed-os (mbed-os-5.4.0-rc1-20343-g50912b669e)
483ce55047a2adb3210eddd3bff2a05f658a4373 tools/keywords_gen (v1.0.0-8-g483ce55)
454fc619ce9371016f7bbdbb875aed2e197ea1ce tools/uploaders/asb (heads/master)
54a37d5009fd8bb4e5c9770cabd4bed984ac7c98 tools/uploaders/svl (54a37d5)
We find that the cores/arduino/mbed-bridge
submodule is at hash 25fe1981fe509217059f093395372e1ffcbd6335
.
If we look at the network graph for the arduino-mbed-bridge repo we can find the 25fe1981fe509217059f093395372e1ffcbd6335
lives on the remove-api-submodule
branch:
If we have a look at the commits we can see that commit 25fe1981fe509217059f093395372e1ffcbd6335
is the second most recent.
The commit message and code diff of the most recent commit b239f175e5fa3c5855f685be4690d93e694abf5a
on the branch remove-api-submodule
would indicate the @Wenn0101 believes they inverted the logic of the interrupt functions: