What is missing in mcp9600_uorb.c is the `mcp9600_fetch()` interface. With it supported, this driver can behave the same like the legacy implementation, so all sampling is controlled by user-space logic, not kernel thread.
czw., 13 lut 2025 o 18:02 raiden00pl <raiden0...@gmail.com> napisał(a): > Yes, mcp9600_uorb.c not support legacy implementation, but `uorb` > implementation > is also a character driver. The new sensor implementation also supports > simple `read()`. > You can look at `apps/system/sensorscope` - there are no single ioctl() > call in the code. > It works with `open()` and `read()` only. > > > czw., 13 lut 2025 o 17:38 Alan C. Assis <acas...@gmail.com> napisał(a): > >> I mean it is not used in the same way as other sensors that have two >> files. >> >> I.e. bmp180 has bmp180.c and bmp180_uorb.c >> >> Using the bmp180.c the application can read data from it using the read() >> function. >> >> Using mcp9600_uorb.c on the other hand (since we don't have mcp9600.c >> anymore), even if the user is not using the uORB app, it needs to follow >> other approach, i.e. using ioctls for it. >> >> BR, >> >> Alan >> >> >> >> On Thu, Feb 13, 2025 at 1:26 PM raiden00pl <raiden0...@gmail.com> wrote: >> >> > > I think this is not the case with the MCP9600. >> > >> > What is not the case? I don't understand what you mean :) >> > `mcp9600_uorb.c` is just a character driver but with standardized >> > interface, so other similar chips can be used with the same user-space >> > code. >> > You don't need `apps/system/uorb` to use it. >> > >> > >> > >> > czw., 13 lut 2025 o 17:11 Alan C. Assis <acas...@gmail.com> napisał(a): >> > >> > > Hi Mateusz, >> > > >> > > I think this is not the case with the MCP9600. >> > > >> > > Matteo, is it possible to keep the original driver and the new one? >> > > >> > > BR, >> > > >> > > Alan >> > > >> > > On Thu, Feb 13, 2025 at 1:02 PM raiden00pl <raiden0...@gmail.com> >> wrote: >> > > >> > > > `uORB sensors` is a misleading term. All new sensors are character >> > > drivers, >> > > > but with >> > > > a standardized and portable interface. `uORB` is an optional >> feature. >> > > > Legacy sensors in NuttX are the perfect example of a broken >> solution in >> > > > NuttX. >> > > > With old sensors it's not possible to create portable applications. >> The >> > > new >> > > > sensor >> > > > framework solves this problem. Its main disadvantage currently is >> > > operating >> > > > on float data, >> > > > in the future fixed-point math should be also supported for MCU >> without >> > > > FPU. >> > > > >> > > > czw., 13 lut 2025 o 16:46 Tim Hardisty <timhardist...@gmail.com> >> > > > napisał(a): >> > > > >> > > > > Maybe it is covered by the “inviolable”? uORB is optional and no >> one >> > > > > should be forced to use it? >> > > > > >> > > > > Surely any NuttX sensor driver MUST have a character driver, but >> > could >> > > > > OPTIONALLY have a uORB variant? Or am I missing something? >> > > > > >> > > > > >> > > > > > On 13 Feb 2025, at 14:02, Alan C. Assis <acas...@gmail.com> >> wrote: >> > > > > > >> > > > > > Good question Tim, >> > > > > > >> > > > > > Ideally all sensors should have char device and uorb support, >> but I >> > > > don't >> > > > > > think we have this rule. >> > > > > > >> > > > > > Recently a driver was converted from char device to uorb, so for >> > > driver >> > > > > > that are uorb only, you have to use uORB sensortest application. >> > > > > > >> > > > > > BR, >> > > > > > >> > > > > > Alan >> > > > > > >> > > > > >> On Thu, Feb 13, 2025 at 7:48 AM Tim Hardisty < >> > > timhardist...@gmail.com >> > > > > >> > > > > >> wrote: >> > > > > >> >> > > > > >> Bu all sensors should have character drivers though, not just >> > uORB? >> > > I >> > > > > >> have only briefly searched about uORB but it's a messaging >> system >> > > not >> > > > a >> > > > > >> driver as such I think and it lives in nuttx/apps. Perhaps what >> > > > confused >> > > > > >> me is you saying "BMI270 uses uORB" but perhaps you meant that >> was >> > > > just >> > > > > >> an easy/easier way to test it if there's no BMI270 example app? >> > > > > >> >> > > > > >> Just looking for clarity for my interest but also to make sure >> the >> > > OP >> > > > is >> > > > > >> given full information :-) >> > > > > >> >> > > > > >>> On 12/02/2025 20:30, Alan C. Assis wrote: >> > > > > >>> Yes, we still have char driver sensors and uorb sensors >> > > > > >>> >> > > > > >>> On Wed, Feb 12, 2025 at 5:05 PM Tim Hardisty < >> > > > timhardist...@gmail.com> >> > > > > >>> wrote: >> > > > > >>> >> > > > > >>>> Ah - so something you choose to use or not? But still we'll >> have >> > > > > >>>> "traditional" drivers for new sensors as they're added? >> > > > > >>>> >> > > > > >>>> On 12/02/2025 19:29, Alan C. Assis wrote: >> > > > > >>>>> Hi Tim, >> > > > > >>>>> >> > > > > >>>>> It came from PX4 and how it is used for our sensors. >> > > > > >>>>> >> > > > > >>>>> BR, >> > > > > >>>>> >> > > > > >>>>> Alan >> > > > > >>>>> >> > > > > >>>>> On Wed, Feb 12, 2025 at 4:21 PM Tim Hardisty < >> > > > > timhardist...@gmail.com> >> > > > > >>>>> wrote: >> > > > > >>>>> >> > > > > >>>>>> Is uORB really just a PX4 thing? Not NuttX? Or did NuttX >> adopt >> > > > uORB >> > > > > >> too >> > > > > >>>>>> and I missed it? >> > > > > >>>>>> >> > > > > >>>>>> Just curious :-) >> > > > > >>>>>> >> > > > > >>>>>> On 12/02/2025 18:51, Alan C. Assis wrote: >> > > > > >>>>>>> Hi Yashvi, >> > > > > >>>>>>> >> > > > > >>>>>>> BMI270 uses uORB, you need to use sensortest >> > > > > >> (CONFIG_SYSTEM_SENSORTEST) >> > > > > >>>>>>> >> > > > > >>>>>>> Just verify if the sensor was created correctly at >> /dev/uorb/ >> > > > > >>>>>>> >> > > > > >>>>>>> BR, >> > > > > >>>>>>> >> > > > > >>>>>>> Alan >> > > > > >>>>>>> >> > > > > >>>>>>> On Wed, Feb 12, 2025 at 3:23 PM 175 yashvi shah < >> > > > > >> yashvee...@gmail.com> >> > > > > >>>>>>> wrote: >> > > > > >>>>>>> >> > > > > >>>>>>>> Yes, I successfully completed the I2C scanner. >> > > > > >>>>>>>> >> > > > > >>>>>>>> After achieving success with I2C, I need to retrieve data >> > from >> > > > the >> > > > > >>>>>> BMI270. >> > > > > >>>>>>>> For that, I have done all the necessary configurations, >> and >> > > > > >> everything >> > > > > >>>>>>>> seems perfect. However, when I try to enable the BMI270 >> in >> > the >> > > > > >>>>>> application >> > > > > >>>>>>>> configuration -> "Examples," there is no option for the >> > BMI270 >> > > > > >> sensor. >> > > > > >>>>>>>> >> > > > > >>>>>>>> On Wed, Feb 12, 2025, 11:43 PM Alan C. Assis < >> > > acas...@gmail.com >> > > > > >> > > > > >>>> wrote: >> > > > > >>>>>>>>> Hi Yashvi, >> > > > > >>>>>>>>> >> > > > > >>>>>>>>> Please describe the issue you are facing. BTW, did the >> i2c >> > > scan >> > > > > >> find >> > > > > >>>>>> your >> > > > > >>>>>>>>> BMI270? >> > > > > >>>>>>>>> >> > > > > >>>>>>>>> BR, >> > > > > >>>>>>>>> >> > > > > >>>>>>>>> Alan >> > > > > >>>>>>>>> >> > > > > >>>>>>>>> On Wed, Feb 12, 2025 at 2:41 PM 175 yashvi shah < >> > > > > >>>> yashvee...@gmail.com> >> > > > > >>>>>>>>> wrote: >> > > > > >>>>>>>>> >> > > > > >>>>>>>>>> But.... >> > > > > >>>>>>>>>> >> > > > > >>>>>>>>>> I’m having a little trouble finding the BMI270 option >> in >> > the >> > > > > >>>>>>>> application >> > > > > >>>>>>>>>> configuration examples. >> > > > > >>>>>>>>>> >> > > > > >>>>>>>>>> Thank you! >> > > > > >>>>>>>>>> >> > > > > >>>>>>>>>> On Wed, Feb 12, 2025, 11:05 PM 175 yashvi shah < >> > > > > >>>> yashvee...@gmail.com> >> > > > > >>>>>>>>>> wrote: >> > > > > >>>>>>>>>> >> > > > > >>>>>>>>>>> Hello, >> > > > > >>>>>>>>>>> >> > > > > >>>>>>>>>>> By applying this, I was able to successfully execute >> the >> > > I2C >> > > > > >>>> scanner. >> > > > > >>>>>>>>>>> Thank you! >> > > > > >>>>>>>>>>> >> > > > > >>>>>>>>>>> On Wed, Feb 12, 2025, 9:16 PM Alan C. Assis < >> > > > acas...@gmail.com >> > > > > > >> > > > > >>>>>>>> wrote: >> > > > > >>>>>>>>>>>> Hi Yashvi, >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>> You can enable the debug symbols to inspect where >> your >> > > code >> > > > is >> > > > > >>>>>>>>> crashing >> > > > > >>>>>>>>>>>> (the positions at LR: 0800d3b7 PC: 0800dcbe) >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>> Enable it in your menuconfig: >> > > > > >>>>>>>>>>>> Build Setup ---> Debug Options ---> [*] Generate >> Debug >> > > > > Symbols >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>> Then flash the new image and run: >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>> arm-none-eabi-addr2line -e nuttx 0800d3b7 >> > > > > >>>>>>>>>>>> arm-none-eabi-addr2line -e nuttx 0800dcbe >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>> Probably these LR and PC values will change for your >> new >> > > > > image, >> > > > > >>>> then >> > > > > >>>>>>>>>>>> modify >> > > > > >>>>>>>>>>>> the commands above to use the new values. >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>> BR, >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>> Alan >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>> On Wed, Feb 12, 2025 at 12:31 PM 175 yashvi shah < >> > > > > >>>>>>>>> yashvee...@gmail.com> >> > > > > >>>>>>>>>>>> wrote: >> > > > > >>>>>>>>>>>> >> > > > > >>>>>>>>>>>>> Yes >> > > > > >>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>> Details of error >> > > > > >>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>> dump_assert_info: Current Version: NuttX 12.8.0 >> > > > > >> 1828d09b2a-dirty >> > > > > >>>>>>>>> Feb >> > > > > >>>>>>>>>> 12 >> > > > > >>>>>>>>>>>>> 2025 0m >> > > > > >>>>>>>>>>>>> dump_assert_info: Assertion failed panic: at file: >> :0 >> > > task: >> > > > > >>>>>>>> <noname> >> > > > > >>>>>>>>>>>>> process: K5 >> > > > > >>>>>>>>>>>>> up_dump_register: R0: 4000541c R1: 00000000 R2: >> > 00000048 >> > > > R3: >> > > > > >>>>>>>>>>>>> 00000001 >> > > > > >>>>>>>>>>>>> up_dump_register: R4: 00000000 R5: 00000000 R6: >> > 00000000 >> > > > FP: >> > > > > >>>>>>>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> up_dump_register: R8: 00000000 SB: 00000000 SL: >> > 00000000 >> > > > R11: >> > > > > >>>>>>>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> up_dump_register: IP: 00000000 SP: 380008b0 LR: >> > 0800d3b7 >> > > > PC: >> > > > > >>>>>>>>>>>>> 0800dcbe >> > > > > >>>>>>>>>>>>> up_dump_register: xPSR: 21000000 BASEPRI: 00000000 >> > > CONTROL: >> > > > > >>>>>>>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> up_dump_register: EXC_RETURN: >> > > > > >>>>>>>>>>>>> ffffffe9 >> > > > > >>>>>>>>>>>>> dump_stackinfo: User >> > > > > >>>>>>>>>>>>> Stack: >> > > > > >>>>>>>>>>>>> dump_stackinfo: base: >> > > > > >>>>>>>>>>>>> 0x38000208 >> > > > > >>>>>>>>>>>>> dump_stackinfo: size: >> > > > > >>>>>>>>>>>>> 00002008 >> > > > > >>>>>>>>>>>>> dump_stackinfo: sp: >> > > > > >>>>>>>>>>>>> 0x380008b0 >> > > > > >>>>>>>>>>>>> stack_dump: 0x38000890: 00000000 00000000 00000000 >> > > 00000000 >> > > > > >>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> 00000000 0d >> > > > > >>>>>>>>>>>>> stack_dump: 0x380008b0: 00000000 38000a48 00000001 >> > > 38000a48 >> > > > > >>>>>>>> 24001e3c >> > > > > >>>>>>>>>>>>> 00000000 00 >> > > > > >>>>>>>>>>>>> stack_dump: 0x380008d0: 00000000 00000000 240000f4 >> > > 38000a48 >> > > > > >>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> 00000000 39 >> > > > > >>>>>>>>>>>>> stack_dump: 0x380008f0: 3800fff8 38000a48 00000001 >> > > 38000a48 >> > > > > >>>>>>>> 240000f4 >> > > > > >>>>>>>>>>>>> 00000000 0f >> > > > > >>>>>>>>>>>>> stack_dump: 0x38000910: 00000009 38000a58 0800bb13 >> > > 38000a58 >> > > > > >>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> 08009b71 38 >> > > > > >>>>>>>>>>>>> stack_dump: 0x38000930: 38000a48 38000a58 0801ec48 >> > > 08002075 >> > > > > >>>>>>>> 00000001 >> > > > > >>>>>>>>>>>>> 00000000 7f >> > > > > >>>>>>>>>>>>> stack_dump: 0x38000950: 00000030 380009e8 00000000 >> > > 38000a48 >> > > > > >>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> 08001e9d 00 >> > > > > >>>>>>>>>>>>> stack_dump: 0x38000970: 00000000 08001e25 00000000 >> > > 080023b1 >> > > > > >>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> 00000000 00 >> > > > > >>>>>>>>>>>>> stack_dump: 0x38000990: 08003ddc 01000000 00000000 >> > > 00000000 >> > > > > >>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> 00000000 01 >> > > > > >>>>>>>>>>>>> stack_dump: 0x380009b0: 380001f0 00000001 00000000 >> > > 08003e33 >> > > > > >>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> 380001f0 00 >> > > > > >>>>>>>>>>>>> stack_dump: 0x380009d0: 00000001 00000001 00000000 >> > > 00000000 >> > > > > >>>>>>>> 00000000 >> > > > > >>>>>>>>>>>>> 00000000 00 >> > > > > >>>>>>>>>>>>> dump_tasks: PID GROUP PRI POLICY TYPE NPX >> STATE >> > > > > EVENT >> > > > > >>>>>>>>>>>>> SIGMASK D >> > > > > >>>>>>>>>>>>> dump_task: 0 0 0 FIFO Kthread - >> Ready >> > > > > >>>>>>>>>>>>> 0000000000> >> > > > > >>>>>>>>>>>>> dump_task: 1 0 240 RR Kthread - >> > Running >> > > > > >>>>>>>>>>>>> 0000000000> >> > > > > >>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>> On Wed, Feb 12, 2025, 7:12 PM Alan C. Assis < >> > > > > acas...@gmail.com >> > > > > >>> >> > > > > >>>>>>>>>> wrote: >> > > > > >>>>>>>>>>>>>> Hi Yashvi, >> > > > > >>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>> Please send the dump of this crash, using it you >> can >> > > find >> > > > > >> where >> > > > > >>>>>>>>> the >> > > > > >>>>>>>>>>>> code >> > > > > >>>>>>>>>>>>> is >> > > > > >>>>>>>>>>>>>> crashing. >> > > > > >>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>> BR, >> > > > > >>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>> Alan >> > > > > >>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>> On Wed, Feb 12, 2025 at 2:51 AM 175 yashvi shah < >> > > > > >>>>>>>>>> yashvee...@gmail.com >> > > > > >>>>>>>>>>>>>> wrote: >> > > > > >>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>>> Hello, >> > > > > >>>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>>> I am attempting to retrieve data from a BMI270 >> sensor >> > > on >> > > > an >> > > > > >>>>>>>>>> STM32H7 >> > > > > >>>>>>>>>>>>>> board. >> > > > > >>>>>>>>>>>>>>> However, when using the I2C scanner, a peculiar >> error >> > > is >> > > > > >>>>>>>>> generated >> > > > > >>>>>>>>>>>> in >> > > > > >>>>>>>>>>>>>>> Minicom. >> > > > > >>>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>>> The error is dump_assert_info : current version: >> > nuttx >> > > > > 12.8.0 >> > > > > >>>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>>> Furthermore, when trying to configure (make >> > > menuconfig-> >> > > > > >>>>>>>>>> application >> > > > > >>>>>>>>>>>>>>> configuration-> example).there no option of bmi270 >> > > > > >>>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>>> Could you please assist me in resolving this >> issue? >> > > > > >>>>>>>>>>>>>>> >> > > > > >>>>>>>>>>>>>>> Thank you. >> > > > > >>>>>>>>>>>>>>> >> > > > > >> >> > > > > >> > > > >> > > >> > >> >