国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【android12-linux-5.1】【ST芯片】驅(qū)動與HAL移植后數(shù)據(jù)方向異常

這篇具有很好參考價值的文章主要介紹了【android12-linux-5.1】【ST芯片】驅(qū)動與HAL移植后數(shù)據(jù)方向異常。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ST的傳感器驅(qū)動與HAL一直成功后,能拿到數(shù)據(jù)了,但是設(shè)備是橫屏,系統(tǒng)默認(rèn)是豎屏。就會出現(xiàn)屏幕自動轉(zhuǎn)動時方向是錯的的情況,設(shè)備橫立展示的是豎屏,設(shè)備豎立展示的是橫屏。

這個是PCB上設(shè)計的傳感器貼片方向和橫屏不一致導(dǎo)致的,只需要在HAL層旋轉(zhuǎn)矩陣就行。利用地球重力加速度為9.8g的特性,用手機(jī)和設(shè)備做平放、豎立放、橫立放同步對比,可推算出需要的旋轉(zhuǎn)矩陣。

修改文件路徑為:/hardware/STMicroelectronics/SensorHAL_IIO/configuration.h

修改前默認(rèn)數(shù)據(jù)是:

#define CONFIG_ST_HAL_ACCEL_ROT_MATRIX 1,0,0,0,1,0,0,0,1
#define CONFIG_ST_HAL_MAGN_ROT_MATRIX 1,0,0,0,1,0,0,0,1
#define CONFIG_ST_HAL_GYRO_ROT_MATRIX 1,0,0,0,1,0,0,0,1

修改后數(shù)據(jù)是:

#define CONFIG_ST_HAL_ACCEL_ROT_MATRIX 0,1,0,-1,0,0,0,0,1
#define CONFIG_ST_HAL_MAGN_ROT_MATRIX 0,1,0,-1,0,0,0,0,1
#define CONFIG_ST_HAL_GYRO_ROT_MATRIX 0,1,0,-1,0,0,0,0,1

【android12-linux-5.1】【ST芯片】驅(qū)動與HAL移植后數(shù)據(jù)方向異常,Android,算法,人工智能,android,linux

由名稱定義很好理解,他們分別是加速度旋轉(zhuǎn)矩陣,磁力旋轉(zhuǎn)矩陣,陀螺儀旋轉(zhuǎn)矩陣。這段有點數(shù)學(xué)基礎(chǔ)的都好理解。[x,y,z]是原始采樣數(shù)據(jù),[X,Y,Z]是最后上送到app的數(shù)據(jù),旋轉(zhuǎn)矩陣數(shù)據(jù)為[a1,a2,a3,a4,a5,a6,a7,a8,a9]則有:

?= 【android12-linux-5.1】【ST芯片】驅(qū)動與HAL移植后數(shù)據(jù)方向異常,Android,算法,人工智能,android,linux

—>

【android12-linux-5.1】【ST芯片】驅(qū)動與HAL移植后數(shù)據(jù)方向異常,Android,算法,人工智能,android,linux

帶入原始數(shù)據(jù):[a1,a2,a3,a4,a5,a6,a7,a8,a9] = [1,0,0,0,1,0,0,0,1]則有:

也就是數(shù)據(jù)原因上送。

帶入修改后的數(shù)據(jù)[a1,a2,a3,a4,a5,a6,a7,a8,a9] = [0,1,0,-1,0,0,0,0,1]則有:

這樣就把坐標(biāo)系旋轉(zhuǎn)了90度了,實現(xiàn)了默認(rèn)豎屏變默認(rèn)橫屏。沒搞清楚的,在一張紙上畫下XY坐標(biāo)系旋轉(zhuǎn)下,實踐出真知。

這段在readme里面有介紹,這里寫下自己的備忘,大佬勿噴!

新人入行,經(jīng)驗分享,如有所誤,歡迎指出~

?版權(quán)歸屬:深圳市琪智科技有限公司-花花文章來源地址http://www.zghlxwxcb.cn/news/detail-673111.html

到了這里,關(guān)于【android12-linux-5.1】【ST芯片】驅(qū)動與HAL移植后數(shù)據(jù)方向異常的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • linux驅(qū)動開發(fā) ST7789 LCD驅(qū)動移植(I.MX6ULL平臺)

    linux驅(qū)動開發(fā) ST7789 LCD驅(qū)動移植(I.MX6ULL平臺)

    前言 I.MX6ULL的板子未選配RGB的屏幕,無法在板子上進(jìn)行GUI的開發(fā)調(diào)試,不過手頭上有塊控制器為ST7789V3的LCD屏幕(1.3inch),通過簡易接線后可以很方便進(jìn)行驅(qū)動的移植 如有異議,歡迎留言指正 ST7789 LCD控制器 ST7789是一款單芯片TFT-LCD控制器,支持并口與SPI通信方式 特性 控制器支

    2023年04月09日
    瀏覽(24)
  • 給linux移植fbtft驅(qū)動st7735s小屏幕(f1c100s)

    內(nèi)核版本5.4 在使用spi總線接上了一個小網(wǎng)卡,實現(xiàn)了我們開發(fā)板對網(wǎng)絡(luò)的訪問之后,我還想接一個小的spi屏幕 1.44寸款,來畫一只小企鵝,順便顯示一些系統(tǒng)的調(diào)試信息。但是由于我這個開發(fā)板向外暴露出來的spi接口就兩個,而且有一個已經(jīng)因為串口的設(shè)置而不能使用。所以

    2024年02月10日
    瀏覽(28)
  • linux(全志F1C100S/F1C200S)系列02:移植LCD st7789驅(qū)動,LVGL8.3移植

    linux(全志F1C100S/F1C200S)系列02:移植LCD st7789驅(qū)動,LVGL8.3移植

    st7789V中指定了rst與dc引腳,pio 4 3 對應(yīng)PE3,pio 4 5對應(yīng)PE5; 詳細(xì)配置方式見鏈接:全志 :gpio使用 需要根據(jù)自身硬件配置。 Tips:更改 spi-max-frequency = 32000000 - spi-max-frequency = 100000000; 和 fps = 30; 改為 fps = 60; 感謝樓下老哥提示。 rotate = 90;根據(jù)屏幕方向更改。 只需要更改下面的三個地

    2024年01月18日
    瀏覽(24)
  • Android HAL機(jī)制的深入理解及在Linux上移植和運行的一個好玩的HAL小例子

    PS:要轉(zhuǎn)載請注明出處,本人版權(quán)所有。 PS: 這個只是基于《我自己》的理解, 如果和你的原則及想法相沖突,請諒解,勿噴。 環(huán)境說明 ??Ubuntu 18.04.x ??近一年來,雖然還是做的是AIOT相關(guān)的事情,但是某些事情卻發(fā)生了一些變化。隨著個人的閱歷提升,現(xiàn)在的AI在邊緣端

    2023年04月08日
    瀏覽(24)
  • 在f1c100s芯片上移植spi網(wǎng)卡enc28j60的linux驅(qū)動

    我個人與全志的芯片頗有故事。在我還是一個不懂事的高中生時,我看到荔枝派的官方文檔,頓時被這小小的板子給吸引住。點開文檔的初見: 荔枝派Nano(下面簡稱Nano)是一款精致迷你的 Arm9 核心板/開發(fā)板,可用于初學(xué)者學(xué)習(xí)linux或者商用于產(chǎn)品開發(fā)。 Nano 在與SD卡相當(dāng)?shù)?/p>

    2024年02月11日
    瀏覽(22)
  • STM32(HAL庫)驅(qū)動st7789LCD屏幕(7引腳240*240)

    STM32(HAL庫)驅(qū)動st7789LCD屏幕(7引腳240*240)

    目錄 1、簡介 2、CubeMX初始化配置 2.1 基礎(chǔ)配置 2.1.1 SYS配置 ?2.1.2 RCC配置 2.2 屏幕引腳配置 2.3 項目生成 ?3、KEIL端程序整合 3.1 LCD驅(qū)動添加 3.2?函數(shù)修改 3.2.1?lcd.h修改 3.2.2 lcd_innit.h?修改 ?3.2.3 lcd.c修改 ?3.2.4?lcd_inut.c修改 ?3.3?主函數(shù)代碼 3.3.1 添加頭文件 3.3.2?LCD進(jìn)行初始化

    2024年02月16日
    瀏覽(24)
  • 在f1c100s上移植fbtft驅(qū)動st7735s小屏幕

    內(nèi)核版本5.4 在使用spi總線接上了一個小網(wǎng)卡,實現(xiàn)了我們開發(fā)板對網(wǎng)絡(luò)的訪問之后,我還想接一個小的spi屏幕 1.44寸款,來畫一只小企鵝,順便顯示一些系統(tǒng)的調(diào)試信息。但是由于我這個開發(fā)板向外暴露出來的spi接口就兩個,而且有一個已經(jīng)因為串口的設(shè)置而不能使用。所以

    2024年02月10日
    瀏覽(23)
  • 【Linux驅(qū)動開發(fā)】編譯Android12源碼

    基于訊為電子rk3568教程 rk_android12.0_sdk_20220720.tar.gz 解壓 設(shè)置屏幕配置 整體編譯 Android 固件 使能編譯環(huán)境 開始整體編譯 rockdev/Image-rk3568_s // 編譯成功鏡像存放位置 單獨編譯u-boot (方法一) 編譯完成后在 u-boot 目錄會生成 rk356x_spl_loader_v1.13.112.bin 文件、uboot.img 文件、 resourc

    2024年02月05日
    瀏覽(23)
  • 利用STM32的HAL庫驅(qū)動1.54寸 TFT屏(240*240 ST7789V)

    利用STM32的HAL庫驅(qū)動1.54寸 TFT屏(240*240 ST7789V)

    ? 項目:溫濕度表 芯片:STM32F030C6T8 液晶:華迪1.54寸 TFT屏 溫濕度傳感器:SHT30 ? ? ?主要對液晶屏官方驅(qū)動代碼進(jìn)行了增加和修改。 一、STM32CubeMX建立工程 ???????? I2C1 給SHT30, SPI給液晶屏,TIM16用于內(nèi)部基礎(chǔ)定時,TIM17給LED,USART1打印調(diào)試信息。RTC預(yù)留。 ?SPI的DMA設(shè)置?

    2023年04月08日
    瀏覽(24)
  • STM32使用HAL庫驅(qū)動TA6932數(shù)碼管驅(qū)動芯片

    STM32使用HAL庫驅(qū)動TA6932數(shù)碼管驅(qū)動芯片

    8段16位,支持共陰共陽LED數(shù)碼管。 推挽配置即可。 1、使用TA6932_Init進(jìn)行初始化 2、使用TA6932_Disp(uint8_t *_ucPtr,uint8_t _ucLenth)進(jìn)行顯示,_upPtr指針指向段碼,_ucLenth為顯示長度,不超過16位。

    2024年02月07日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包