Commit Graph

96 Commits

Author SHA1 Message Date
Roy_01 00413b5098 style: update code style 2024-04-26 10:38:24 +08:00
Roy_01 c144c6ff27 Merge branch 'j-scope' into EDC/develop_tool 2024-04-26 10:38:05 +08:00
chain40 ca3e0ebb69 j_scope 2024-04-26 00:49:33 +08:00
chain40 9c8300c31b workaround: 修正 ads8691 ACQ State 時間不夠的問題 2024-04-25 06:56:10 +08:00
chain40 3c0822efe3 feat: 實作檔案系統 fs_dir, 輸出目錄 2024-04-10 21:26:34 +08:00
Roy_01 10856ca6dd style: update comments and update parentheses 2024-04-10 14:50:55 +08:00
chain40 939f4034da feat: 實作檔案系統 fs
1) spi 傳送的資料長度定為 2 byte (easyDMA 支援最大長度)
2) 建立 block_dev_drv_if
3) 實作 gd25d10c driver
4) 移植 littleFS
5) 建立讀寫測試範例
2024-04-10 08:01:20 +08:00
chain40 669f0f0c48 feat: 實作 dac / adc / timer 功能整合測試 (測試中)
1. DAC 使用 TIME2 控制輸出的間隔時間, 最短週期可至 100us

2. ADC 使用 TIME3 控制輸出的間隔時間
2-1. 如果是 1 CH, 最短週期可至 100us
2-2. 如果是 2 CH, 最短週期可至 200us
2-3. 如果是 3 CH, 最短週期可至 300us
2-6. 如果是 6 CH, 最短週期可至 600us
... 依此類推. TIMER3 可支援 6 組比較值

3. SW 控制未實作
2024-04-03 00:38:52 +08:00
chain40 f915dd3b9a feat: adc/dac/sw 的 spi 改用 spim3
1. 使用 32MHz (僅 spim3 支援)

2. 使用 NRF_SPIM3->PSEL.CSN 自動控制 cs pin (僅 spim3 支援), 但是必需在 spim3 disable 的狀態下才能變更

3. 直接使用 __disable_irq /__enable_irq 防止不同 task 同時存取 spim3 (因為 spi 使用 32MHz, 因此設定 dac 只需要 1us, 讀取 adc 只要  1.28us, 設定 sw 只要 0.64 us)

4. spim_xfer() 支援 spi_mode 設定, 所以不同的 spi_mode 的可以共用 mosi, niso, sclk
2024-04-01 23:23:18 +08:00
chain40 77071869b2 feat: 新增 builtin-saadc driver 使用 mcu 內建的讀取 adc 值
1. 參考電壓只有兩個選擇 a. 0.6v (預設), b. VDD/4
2. 訊號輸入方式 a. single end(預設), b. differntial
3. 由於 ref 預設是 0.6v 在 gain = 1 的條件下, 輸入訊號不得大於 0.6v
4. 承上, 在 gain = 1/6 的條件下, 輸入訊號不得大於 3.6v
5. ads8691 的 gain 設定目前暫只支援 VREF_NP_xPxxx, 不支援 VREF_P_xPxxx
2024-04-01 09:57:54 +08:00
chain40 3532dfe8e3 fix: 將 adc_drv_if_t ads8691 改為 const adc_drv_if_t ads8691, 2024-03-30 20:55:40 +08:00
chain40 3522da08b0 feat: 實作 builtin_adc driver 2024-03-30 20:52:12 +08:00
Roy_01 3741c79e97 update testing functionality for dev_mode(switch) 2024-03-30 09:28:21 +08:00
chain40 76d08f50bf 1. set adc_gain default to NP_GAIN_3P000
2. add testing functionality for dev_mode (ex: led、dac、adc、gpio、spi)
2024-03-30 09:28:16 +08:00
Roy_01 4e21ae6934 feat: updated LED driver - new rainbow-colored LED and could control the color of an LED 2024-03-30 09:24:26 +08:00
Roy_01 d10a7b95cc test: add adc_convert_volt(), a function to test ADC calibration 2024-03-30 09:24:21 +08:00
chain40 901aa2b860 fix: 修正 adgs141 drv 在 daisy chain 模式下, 送出的 sw data 資料位元固定都是 2 bytes 的問題
1) sw data 資料位元必需跟 ASGS1412_COUNT 一致
2024-03-29 10:49:54 +08:00
chain40 5223e2a782 feat: spim2 上的裝置統一使用 mode 0 2024-03-29 00:30:50 +08:00
chain40 d9a2a7b4e2 feat: 實作 sw_drv, sw_drv_if, adgs1412 driver
1. sw_t 是一個 64位元的資料結構, 最大可支援 64 pin sw (adgs1412 最多支援 16 顆)
2024-03-29 00:28:42 +08:00
chain40 84ace26dd6 fix: 調整 ads8691 的初始化流程, 確定使用 spi mode 2 可通訊(讀取 device id 正確), 才進一步執行其它 reg 讀取跟重置 channel 設定 2024-03-22 22:35:22 +08:00
chain40 fba64e0716 fix: 修正 ads8691 輸出的 adc 數值為 uint32_t 格式, 並以 18 bits 的資料長度輸出 2024-03-22 22:35:10 +08:00
chain40 31c691c7c5 feat: 實作 ads8691 driver 以及 adc_drv_if 實作
1. 預設 spi2 為 mode 0, 當 ads8691 初始化完成後, 將 spi2 切為 mode 2
2. 承上, 所以 adc driver 要比 dac driver 更早初始化
3. 將來會將 spi mode 整合 spi transfer, 雖然週邊共用 spi 但是可以每個週邊使用自己的 mode
4. 當調整增益, 更改輸出格式, 切換輸入來源時會把 m_flush_data 設為 1, 在讀 ad 值時會先預讀一次更新量測的結果
2024-03-22 07:29:06 +08:00
chain40 7f5337d0c8 fix: 修改 max5136 driver 傳送的 data bits 是 msb leading 2024-03-13 10:39:28 +08:00
chain40 d163394faf feat: 實作 max5136 driver, 並調整 dac_drv_if 實作 2024-03-13 00:08:21 +08:00
chain40 0d40e8a2bc fix: 將 spi2 設定為 mode 2, 配合 MAX5136 / ADS8691 2024-03-12 22:34:09 +08:00
chain40 e3c969b3e1 feat: 移植並實作 vis_rst(), 建立 dac_drv 架構 2024-03-11 23:40:55 +08:00
chain40 3968bb1a5b add dev_mode 2024-03-08 22:52:57 +08:00
Roy_01 566101b7c8 update led driver 2024-03-08 15:39:35 +08:00
Roy_01 6d8edfbf40 gpio相關的函式都放在edc20_pin_ctrl.c (包含gpio、spi、i2c) 2024-03-08 11:16:01 +08:00
Roy_01 0c9b8d2b8d 1. gpio_init() before initializing TWI and SPI
2. spi2 use spi mode 0
MAX5136 (spi mode 2, maybe it can't work, but it's actually work)
ADS8691 (spi mode 0~3)
ADGS1412 (spi mode 0/3)
GD25D10CTIGR (spi mode 0/3)
2024-03-05 17:27:40 +08:00
Roy_01 e6621dee5a define each series of Elite 2024-03-05 17:25:47 +08:00
chain40 f1e8f66a39 feat: 實作 le_event_notify() / le_data_notify() 2024-03-05 07:42:52 +08:00
chain40 f192bb44c5 feat: 實作 edc2.0 / eis 2.0 樣板 2024-03-05 00:39:25 +08:00
chain40 0b3d60d1b3 fix: 將 EDC service 改為 ELITE service, 提供一致的存取面 (data/inst/event) 2024-03-04 22:58:02 +08:00
chain40 a310520643 fix: EDC service 相容性修改 (cc2650)
1) 修改 edc srv 的 UUID 類型, 由 vendor specific UUID (128-bit) 改為 Bluetooth SIG UUID (16-bit)

2) dis service 新增 sys_id 欄位, 確保 edc src 建立的 char handle 可對應 0x21, 0x24, 0x27

3) edc src 改使用 data (uuid: 0xFFF2) / inst  (uuid: 0xFFF3) / evet (uuid: 0xFFF4) 三個 char
2024-03-02 22:47:03 +08:00
chain40 b476520494 fix: 修改 edc srv 的 UUID 類型, 由 vendor specific UUID (128-bit) 改為 Bluetooth SIG UUID (16-bit) 以相容 cc2650 2024-02-18 21:57:01 +08:00
chain40 d3803c43ae fix: 修改廣播封包格式以相容 cc2650
1. adv package: UUID (0xFFF0)
2. scan response package: cc2650 定義的內容
3. adv interval 設定為 75ms (多裝置環境下, 降低廣播封包碰撞的機會)
2024-02-01 10:00:36 +08:00
chain40 a404a98c25 fix: gpio 初始化過調整, 移除 enable_6994_callback() 2024-02-01 10:00:32 +08:00
chain40 9916809ddf fix: 將 led 的 spi 通訊改為 mode 0 (依照 datasheet) 2024-02-01 10:00:29 +08:00
Roy_01 cfe55c5e23 fix: code go to breaking point during I2C initialization
1. do nothing when i2c transfer completed
2. take away virtual_data
3. spi frequency change to 8M
2024-01-24 17:26:33 +08:00
Roy_01 50ef6af023 fix: i2c support multi-task & isr callback. 2024-01-16 10:03:51 +08:00
Roy_01 d3114ed49f fix: 修正 rtt 顯示異常的問題 2024-01-03 17:44:14 +08:00
Roy_01 0e90206dda fix: spim2 support multi-task & isr callback. 2024-01-03 17:36:37 +08:00
Roy_01 443f38e90c fix: clear_bus_init 設為 true
1. 確保不會有某個 i2c slave device 把 sda pin pull
2024-01-03 14:44:21 +08:00
Roy_01 7eb82ae895 style: updated code style 2024-01-03 14:40:04 +08:00
Roy_01 385b5ad471 new develop tool: change_led、gpio_output、gpio_input、spi2、i2c0 2023-12-27 15:10:01 +08:00
Roy_01 2bf247c103 new twi0 (i2c0) 2023-12-27 14:50:14 +08:00
Roy_01 c4bb2fec1f new spim2 2023-12-27 14:43:07 +08:00
Roy_01 0e9a2baa56 new spim1 for LED use 2023-12-27 13:42:32 +08:00
Roy_01 9faf9f8692 updated many pin configuration and enable RT6994 after one second 2023-12-27 11:56:38 +08:00