Comments (5)
@SidLeung, can you see any issues with the above reg_* function delclarations being moved into "public" so users can access them?
from arduinocore-arc32.
Understood the request for the accessing the BMI internals. Please be aware, from our POV, the arrangement/decision of wrapping and hiding the BMI class/info behind the CurieIMU class. In a future event, if it ever occurred, that the BMI160 is replaced, the significant changes would be limited within the boundary of the CurieIMU class. The existing Sketches that utilize the CurieIMU would not be impacted. It is not desirable for us to expose the BMI class/methods for this particular reason.
from arduinocore-arc32.
I agree with @SidLeung.
from arduinocore-arc32.
It is not desirable for us to expose the BMI class/methods
How meaningful is CurieIMU's abstraction, really? Last time I looked, you're exposing quite a lot of BMI specific implementation, like the raw integers where you leave scaling to the end user, and you require the end user to know the specific ranges the BMI sensor implements. A long list of functions correspond 1:1 to BMI's specific motion processing features, which are similar but not identical to other chips on the market.
Look, I don't want to be too negative and cynical here. But if you really in your heart believe some measure of hardware independence is a good thing, perhaps you ought to take an honest objective look at the API you're currently publishing. It leaks a lot of BMI hardware specific details.
from arduinocore-arc32.
I'm not publishing an API. In my case, knowing the details of the hardware (BMI160) was critical to/preferable for the application. I was simply suggesting that it wouldn't take much effort to allow someone to bypass the HAL, especially if the intent was to play around with the Arduino101 they have in hand (like me). At the time I was working on this, the BMI160 datasheet was the best source of information on the Curie.
from arduinocore-arc32.
Related Issues (20)
- Error compiling for board Arduino/Genuino 101. HOT 7
- Peripheral not connectable when broadcasting characteristic value
- Incorrect capitalization of true in CurieIMU documentation HOT 3
- some EEPROM.CPP ERROR HOT 1
- SPI.beginTransaction allows SPISettings faster than 8 MHz
- Cannot discover attributes HOT 1
- Limited error messages, when selecting the wrong COM port
- How to using UART ISR ?
- [Urgent][Stuck Problem] BLE setValue in callback function!
- Can't send BLE data less than 25ms? HOT 3
- Crashing when three or more characteristics are updated every 30ms? HOT 1
- CurieBLE - BLECommon dosen't existe .. HOT 2
- CurieBLE for HM-11
- Should extra_flags be empty in platform.txt? HOT 1
- SoftwareSerial core library
- IPAddress missing definition of operator!=()
- When I try to upload a simple sketch to the Arduino 101, I get the following error on Mac M1 (macOS Monterey) HOT 3
- No tag for 2.0.6 release
- error: #error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor." #error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor." HOT 2
- Placing the breadboard with BMI160 to horizontally(remapping axis) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arduinocore-arc32.