WIP: Add OV5647 sensor support #31

Draft
KuRue wants to merge 8 commits from KuRue/KuRue-OV5647 into main
KuRue commented 2024-07-10 15:12:54 -04:00 (Migrated from github.com)
No description provided.
ret7020 commented 2024-11-26 04:23:34 -05:00 (Migrated from github.com)

I tried to test this patch with sensor_test demo. But it return this error:

[sys_vi_init]-41: MMF Version:1d5c76c29-musl_riscv64
[SAMPLE_COMM_SNS_ParseIni]-2185: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1778: devNum =  1
[parse_sensor_name]-1859: sensor =  OV_OV5647_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1888: bus_id =  4
[parse_sensor_i2caddr]-1899: sns_i2c_addr =  36
[parse_sensor_mipidev]-1910: mipi_dev =  0
[parse_sensor_laneid]-1921: Lane_id =  0, 1, 2, 3, -1
[parse_sensor_pnswap]-1932: pn_swap =  0, 0, 0, 0, 0
[parse_sensor_mclken]-1954: mclk_en =  1
[parse_sensor_mclk]-1965: mclk =  1
[SAMPLE_PLAT_SYS_INIT]-72: common pool[0] BlkSize 3133440

** I changed config /mnt/data/sensor_cfg.ini to yours and apply another changes from pull request and recompile image.

I tried to test this patch with sensor_test demo. But it return this error: ``` [sys_vi_init]-41: MMF Version:1d5c76c29-musl_riscv64 [SAMPLE_COMM_SNS_ParseIni]-2185: Parse /mnt/data/sensor_cfg.ini [parse_source_devnum]-1778: devNum = 1 [parse_sensor_name]-1859: sensor = OV_OV5647_MIPI_2M_30FPS_10BIT [parse_sensor_busid]-1888: bus_id = 4 [parse_sensor_i2caddr]-1899: sns_i2c_addr = 36 [parse_sensor_mipidev]-1910: mipi_dev = 0 [parse_sensor_laneid]-1921: Lane_id = 0, 1, 2, 3, -1 [parse_sensor_pnswap]-1932: pn_swap = 0, 0, 0, 0, 0 [parse_sensor_mclken]-1954: mclk_en = 1 [parse_sensor_mclk]-1965: mclk = 1 [SAMPLE_PLAT_SYS_INIT]-72: common pool[0] BlkSize 3133440 ``` ** I changed config /mnt/data/sensor_cfg.ini to yours and apply another changes from pull request and recompile image.
legath commented 2024-12-08 21:10:17 -05:00 (Migrated from github.com)

I tried to test this patch with sensor_test demo. But it return this error:

i also tried with the same result, may be we use wrong connector?

> I tried to test this patch with sensor_test demo. But it return this error: i also tried with the same result, may be we use wrong connector?
ret7020 commented 2024-12-12 10:22:00 -05:00 (Migrated from github.com)

Maybe, I use RPi Zero Camera (blue textolite) with default ribbon. But I don't check pinout of csi port on board and on camera module. But anyway there are some problems with software.
Lane_id: 0, 1, 2, 3, -1 is incorrect for new RV boards revision, but even I changed them it doesn't affect. Also, I think it is not good idea to use system("devmem <...>") for camera init.

Maybe, I use RPi Zero Camera (blue textolite) with default ribbon. But I don't check pinout of csi port on board and on camera module. But anyway there are some problems with software. `Lane_id: 0, 1, 2, 3, -1` is incorrect for new RV boards revision, but even I changed them it doesn't affect. Also, I think it is not good idea to use `system("devmem <...>")` for camera init.
niyazFattahov commented 2025-02-04 02:18:12 -05:00 (Migrated from github.com)

The RPI camera ov5647 has pull-down (to GND) resistors R4,R8 on I2C pins.
After removing this resistors my licheerv-nano can recognize this camera, but now I have another problem:

# sensor_test 
[sys_vi_init]-41: MMF Version:c4bd8d00c-musl_riscv64
[SAMPLE_COMM_SNS_ParseIni]-2185: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1778: devNum =  1
[parse_sensor_name]-1859: sensor =  OV_OV5647_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1888: bus_id =  4
[parse_sensor_i2caddr]-1899: sns_i2c_addr =  36
[parse_sensor_mipidev]-1910: mipi_dev =  0
[parse_sensor_laneid]-1921: Lane_id =  4, 3, 2, -1, -1
[parse_sensor_pnswap]-1932: pn_swap =  0, 0, 0, 0, 0
[parse_sensor_mclken]-1954: mclk_en =  1
[parse_sensor_mclk]-1965: mclk =  1
[sys_vi_init]-50: Parse complete
[sys_vi_init]-67: stViConfig.s32WorkingViNum 1
[SAMPLE_PLAT_SYS_INIT]-72: common pool[0] BlkSize 3133440
[SAMPLE_COMM_VI_StartSensor]-448: pstViInfo->stSnsInfo.s32SnsId 0
ISP Vipipe(0) Allocate pa(0x8ace8000) va(0x0x3fdbffe000) size(291424)
stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 30.000000 wdrMode 0 pstSnsObj 0xf0a38
[SAMPLE_COMM_VI_StartMIPI]-496: sensor 0 stDevAttr.devno 0
awbInit ver 6.9@2021500
0 R:1400 B:3100 CT:2850
1 R:1500 B:2500 CT:3900
2 R:2300 B:1600 CT:6500
Golden 1024 1024 1024
WB Quadratic:0
isWdr:0
20250204 06:41:05.602 1124 E isp setNoiseProfile:3460 Noise profile get fail. Please check
ViPipe:0,===OV5647 1080P 30fps 10bit LINE Init OK!
********************************************************************************
cvi_bin_isp message
gerritId:      97347          commitId:      fc6ce647       
md5:           d6db2297ddfd44e8252c1f3f888f47b2
sensorNum      1              
sensorName0    22087          

PQBIN message
gerritId:      
              commitId:      fc6ce647       
md5:           d6db2297ddfd44e8252c1f3f888f47b2
sensorNum      1              
sensorName0    4653           

author:        lxowalle       desc:          gc4653 30fps   
createTime:    2024-03-26 13:41:34version:                      
tool Version:       v3.0.5.48           mode:      
********************************************************************************
sensorName(0) mismatch, mwSns:22087 != pqBinSns:4653
[SAMPLE_COMM_ISP_Thread]-96: ISP Dev 0 running!
[main]-543: ---Basic------------------------------------------------
[main]-544: 1: dump vi raw frame
[main]-545: 2: dump vi yuv frame
[main]-546: 3: set chn flip/mirror
[main]-547: 4: linear wdr switch
[main]-548: 5: AE debug
[main]-549: 6: sensor dump
[main]-550: 7: sensor proc
[main]-551: 255: exit
2
0
1
VI_SDK_IOC_S_CTRL - vi_sdk_get_chn_frame NG, Operation not permitted
[main]-543: ---Basic------------------------------------------------
[main]-544: 1: dump vi raw frame
[main]-545: 2: dump vi yuv frame
[main]-546: 3: set chn flip/mirror
[main]-547: 4: linear wdr switch
[main]-548: 5: AE debug
[main]-549: 6: sensor dump
[main]-550: 7: sensor proc
[main]-551: 255: exit

cat /var/log/messages:

Feb  4 06:47:37 licheervnano-9a80 local5.warn : [LOG-WRN] sensor_test.c:244:sensor_dump_yuv(): how many loops to do(11111 is infinite: 
Feb  4 06:47:45 licheervnano-9a80 local5.err : [VI-ERR] cvi_vi.c:1640:CVI_VI_GetChnFrame(): vi_sdk_get_chn_frame ioctl failed
Feb  4 06:47:45 licheervnano-9a80 local5.err : [LOG-ERR] sensor_test.c:176:_vi_get_chn_frame(): CVI_VI_GetChnFrame NG
Feb  4 06:47:45 licheervnano-9a80 local5.warn : [LOG-WRN] sensor_test.c:259:sensor_dump_yuv(): VI GetChnFrame OK(0) NG(1)
Feb  4 06:47:45 licheervnano-9a80 local5.warn : [LOG-WRN] sensor_test.c:261:sensor_dump_yuv(): Dump VI yuv TEST-PASS
Feb  4 06:47:46 licheervnano-9a80 kern.err kernel: [ 6196.215822] base_get_chn_buffer:262(): Mod(VI) Grp(0) Chn(0), jobs wait(0) work(2) done(0)
The RPI camera ov5647 has pull-down (to GND) resistors R4,R8 on I2C pins. After removing this resistors my licheerv-nano can recognize this camera, but now I have another problem: ``` # sensor_test [sys_vi_init]-41: MMF Version:c4bd8d00c-musl_riscv64 [SAMPLE_COMM_SNS_ParseIni]-2185: Parse /mnt/data/sensor_cfg.ini [parse_source_devnum]-1778: devNum = 1 [parse_sensor_name]-1859: sensor = OV_OV5647_MIPI_2M_30FPS_10BIT [parse_sensor_busid]-1888: bus_id = 4 [parse_sensor_i2caddr]-1899: sns_i2c_addr = 36 [parse_sensor_mipidev]-1910: mipi_dev = 0 [parse_sensor_laneid]-1921: Lane_id = 4, 3, 2, -1, -1 [parse_sensor_pnswap]-1932: pn_swap = 0, 0, 0, 0, 0 [parse_sensor_mclken]-1954: mclk_en = 1 [parse_sensor_mclk]-1965: mclk = 1 [sys_vi_init]-50: Parse complete [sys_vi_init]-67: stViConfig.s32WorkingViNum 1 [SAMPLE_PLAT_SYS_INIT]-72: common pool[0] BlkSize 3133440 [SAMPLE_COMM_VI_StartSensor]-448: pstViInfo->stSnsInfo.s32SnsId 0 ISP Vipipe(0) Allocate pa(0x8ace8000) va(0x0x3fdbffe000) size(291424) stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 30.000000 wdrMode 0 pstSnsObj 0xf0a38 [SAMPLE_COMM_VI_StartMIPI]-496: sensor 0 stDevAttr.devno 0 awbInit ver 6.9@2021500 0 R:1400 B:3100 CT:2850 1 R:1500 B:2500 CT:3900 2 R:2300 B:1600 CT:6500 Golden 1024 1024 1024 WB Quadratic:0 isWdr:0 20250204 06:41:05.602 1124 E isp setNoiseProfile:3460 Noise profile get fail. Please check ViPipe:0,===OV5647 1080P 30fps 10bit LINE Init OK! ******************************************************************************** cvi_bin_isp message gerritId: 97347 commitId: fc6ce647 md5: d6db2297ddfd44e8252c1f3f888f47b2 sensorNum 1 sensorName0 22087 PQBIN message gerritId: commitId: fc6ce647 md5: d6db2297ddfd44e8252c1f3f888f47b2 sensorNum 1 sensorName0 4653 author: lxowalle desc: gc4653 30fps createTime: 2024-03-26 13:41:34version: tool Version: v3.0.5.48 mode: ******************************************************************************** sensorName(0) mismatch, mwSns:22087 != pqBinSns:4653 [SAMPLE_COMM_ISP_Thread]-96: ISP Dev 0 running! [main]-543: ---Basic------------------------------------------------ [main]-544: 1: dump vi raw frame [main]-545: 2: dump vi yuv frame [main]-546: 3: set chn flip/mirror [main]-547: 4: linear wdr switch [main]-548: 5: AE debug [main]-549: 6: sensor dump [main]-550: 7: sensor proc [main]-551: 255: exit 2 0 1 VI_SDK_IOC_S_CTRL - vi_sdk_get_chn_frame NG, Operation not permitted [main]-543: ---Basic------------------------------------------------ [main]-544: 1: dump vi raw frame [main]-545: 2: dump vi yuv frame [main]-546: 3: set chn flip/mirror [main]-547: 4: linear wdr switch [main]-548: 5: AE debug [main]-549: 6: sensor dump [main]-550: 7: sensor proc [main]-551: 255: exit ``` ``` cat /var/log/messages: Feb 4 06:47:37 licheervnano-9a80 local5.warn : [LOG-WRN] sensor_test.c:244:sensor_dump_yuv(): how many loops to do(11111 is infinite: Feb 4 06:47:45 licheervnano-9a80 local5.err : [VI-ERR] cvi_vi.c:1640:CVI_VI_GetChnFrame(): vi_sdk_get_chn_frame ioctl failed Feb 4 06:47:45 licheervnano-9a80 local5.err : [LOG-ERR] sensor_test.c:176:_vi_get_chn_frame(): CVI_VI_GetChnFrame NG Feb 4 06:47:45 licheervnano-9a80 local5.warn : [LOG-WRN] sensor_test.c:259:sensor_dump_yuv(): VI GetChnFrame OK(0) NG(1) Feb 4 06:47:45 licheervnano-9a80 local5.warn : [LOG-WRN] sensor_test.c:261:sensor_dump_yuv(): Dump VI yuv TEST-PASS Feb 4 06:47:46 licheervnano-9a80 kern.err kernel: [ 6196.215822] base_get_chn_buffer:262(): Mod(VI) Grp(0) Chn(0), jobs wait(0) work(2) done(0) ```
ret7020 commented 2025-03-16 07:48:56 -04:00 (Migrated from github.com)

Do you have some progress on this issue?

Do you have some progress on this issue?
sobinv114 commented 2025-06-10 09:16:32 -04:00 (Migrated from github.com)

I also have same issue I dont know how to make it work and anyone find any solution! For this problem

I also have same issue I dont know how to make it work and anyone find any solution! For this problem
tlamngu commented 2026-02-14 13:16:03 -05:00 (Migrated from github.com)

Dear anyone who trying to add OV5647 support.

  • Use this DTS if you were using Rpi camera and was on 70415/70418 board:

[source]
;type = SOURCE_USER_FE
dev_num = 1

[sensor]
; sensor name
name = OV_OV5647_MIPI_2M_30FPS_10BIT

bus_id = 4

sns_i2c_addr = 36

mipi_dev = 0

lane_id = 4, 3, 2, -1, -1

pn_swap = 0, 0, 0, 0, 0

mclk_en = 1

mclk = 1

Explanation: According to schematic, I modified the lane_id to matches actual sensor routes.
You may check for detail: [https://doc.sophgo.com/cvitek-develop-docs/master/docs_latest_release/CV180x_CV181x/en/01.software/MPI/Sensor_Debugging_Guide/build/html/4_Image_Output_Debugging.html#adding-sensor-ini-configuration](CVITEK DEVELOP ADDING SENSOR INI CONFIGURATION)

  • Regret all changes of this Pull request (It's added devmem for configuring the Pinmux, etc. But we don't need it as I was tested)

I don't know why but enable ov5647 sensor in menuconfig not affects the build artifacts. So I do this trick:
Adding following lines at very top of middleware/v2/sample/common/sample_common_sensor.c :

#ifndef SENSOR_OV_OV5647
#define SENSOR_OV_OV5647 1
#endif


#ifndef SENSOR_OV5647
#define SENSOR_OV5647 1
#endif

This helps add stSnsOv5647_Obj into sensor.

Then remove pull-down to GND resistor on camera on 2 I2C pin.

Compiles the Image

Connect to board and run following command for enabling I2C:

# Camera IIC@4 SCL Pinmux
devmem 0x03001090 32 0x5

# Camera IIC@4 SDA Pinmux
devmem 0x03001098 32 0x5

Run sensor_test for test the sensor.

If not working, run it again and it will magically work or you may use i2cdetect -y 4 to make sure your camera were detected. I'm still diving in kernel and middlewares to see why there's still some potential issue and strangeness on these but at least if you want to bring up your sensor, this may work for you.

** Note:

  • Make sure to edit the /mnt/data/sensor_cfg.ini for sensor config.

Disclaimer: I'm not an expert and I'm just wandering around. If any information being provided were wrong, please kindly assist me on changing them! ^^

Dear anyone who trying to add OV5647 support. - Use this DTS if you were using Rpi camera and was on 70415/70418 board: ```makefile [source] ;type = SOURCE_USER_FE dev_num = 1 [sensor] ; sensor name name = OV_OV5647_MIPI_2M_30FPS_10BIT bus_id = 4 sns_i2c_addr = 36 mipi_dev = 0 lane_id = 4, 3, 2, -1, -1 pn_swap = 0, 0, 0, 0, 0 mclk_en = 1 mclk = 1 ``` Explanation: According to schematic, I modified the lane_id to matches actual sensor routes. You may check for detail: [https://doc.sophgo.com/cvitek-develop-docs/master/docs_latest_release/CV180x_CV181x/en/01.software/MPI/Sensor_Debugging_Guide/build/html/4_Image_Output_Debugging.html#adding-sensor-ini-configuration](CVITEK DEVELOP ADDING SENSOR INI CONFIGURATION) - Regret all changes of this Pull request (It's added devmem for configuring the Pinmux, etc. But we don't need it as I was tested) I don't know why but enable ov5647 sensor in menuconfig not affects the build artifacts. So I do this trick: Adding following lines at very top of `middleware/v2/sample/common/sample_common_sensor.c` : ```cpp #ifndef SENSOR_OV_OV5647 #define SENSOR_OV_OV5647 1 #endif #ifndef SENSOR_OV5647 #define SENSOR_OV5647 1 #endif ``` This helps add stSnsOv5647_Obj into sensor. Then remove pull-down to GND resistor on camera on 2 I2C pin. Compiles the Image Connect to board and run following command for enabling I2C: ```bash # Camera IIC@4 SCL Pinmux devmem 0x03001090 32 0x5 # Camera IIC@4 SDA Pinmux devmem 0x03001098 32 0x5 ``` Run sensor_test for test the sensor. If not working, run it again and it will magically work or you may use `i2cdetect -y 4` to make sure your camera were detected. I'm still diving in kernel and middlewares to see why there's still some potential issue and strangeness on these but at least if you want to bring up your sensor, this may work for you. ** Note: - Make sure to edit the /mnt/data/sensor_cfg.ini for sensor config. Disclaimer: I'm not an expert and I'm just wandering around. If any information being provided were wrong, please kindly assist me on changing them! ^^
ret7020 commented 2026-04-11 18:15:31 -04:00 (Migrated from github.com)

Did you tested output image from sensor_test tool. Does it save correct raw/yuv frame?

Did you tested output image from `sensor_test` tool. Does it save correct raw/yuv frame?
tlamngu commented 2026-04-11 22:57:00 -04:00 (Migrated from github.com)

Did you tested output image from sensor_test tool. Does it save correct raw/yuv frame?

From my side, everything seems to work flawlessly

> Did you tested output image from `sensor_test` tool. Does it save correct raw/yuv frame? From my side, everything seems to work flawlessly
watermeko commented 2026-04-12 05:21:40 -04:00 (Migrated from github.com)

Did you tested output image from sensor_test tool. Does it save correct raw/yuv frame?

@ret7020 I'm glad to see you ret7020. I'm learning LicheeRV Nano based on your tutorial on Medium. I'm struggling with how to drive the OV5647. I can detect I2C devices now, but I get the error VI_SDK_IOC_S_CTRL - vi_sdk_get_chn_frame NG, Operation not permitted when trying to capture the frame. If you can resolve this issue, I suggest you also post the process on Medium. Thank you very much!

> Did you tested output image from `sensor_test` tool. Does it save correct raw/yuv frame? @ret7020 I'm glad to see you ret7020. I'm learning LicheeRV Nano based on your tutorial on Medium. I'm struggling with how to drive the OV5647. I can detect I2C devices now, but I get the error `VI_SDK_IOC_S_CTRL - vi_sdk_get_chn_frame NG, Operation not permitted` when trying to capture the frame. If you can resolve this issue, I suggest you also post the process on Medium. Thank you very much!
ret7020 commented 2026-04-12 08:38:55 -04:00 (Migrated from github.com)

Hello @watermeko! Currently I have same problem, i2c works but no frames received from VI. But I use this (https://github.com/scpcom/LicheeSG-Nano-Build) image for tests. I will try to build this sipeed image, but I think there is as problem in driver implementation for ov5647

Hello @watermeko! Currently I have same problem, i2c works but no frames received from VI. But I use this (https://github.com/scpcom/LicheeSG-Nano-Build) image for tests. I will try to build this sipeed image, but I think there is as problem in driver implementation for ov5647
PentBeear commented 2026-04-13 19:58:39 -04:00 (Migrated from github.com)

Hello @watermeko! Currently I have same problem, i2c works but no frames received from VI. But I use this (https://github.com/scpcom/LicheeSG-Nano-Build) image for tests. I will try to build this sipeed image, but I think there is as problem in driver implementation for ov5647

I only managed to get the OV5647 to power on when attempting to use the provided test programs or ones I wrote myself. The OV5647 module I had didn't work with the lower I2C voltage, and there were no resistors to pull. The IMX335 seems to be a more suitable option with its 1.8V I/O, assuming the driver works. I honestly wonder if anyone has managed to get these things to read an image from a sensor.

EDIT: I also wonder if the pins are correct. The OV5647 camera modules don't require mclk so I wonder if that should be disabled. Reading the schematics mclk=1 would probably be sending that signal to MIPI_RX0_N or MIPI_RX4_P. I'm assuming mclk_en=1 would make it send to MIPI_RX4_P, which is used for data on raspberry pi 22pin style camera modules (including the OV5647). It's quite possible mclk_en=1 sends it to MIPI_RX0_N, which considering the schematic has a bridge from MIPI_RX0_N to CAM_IO1 specifically stated to be the MCLK for the Sipeed GC4653 board which uses mclk=1 and mclk_en=1. Its highly likely!

So try this:
set mclk=1 and mclk_en=0 to (maybe) route mclk to MIPI_RX0_N (which is unused)

Maybe also try setting lane_id= 2, 3, 4, -1, -1, as its possible the first index is the CSI_CLK.

And see if you can read some images. If that doesn't work just try all 4 combinations of mclk and mclk_en (I could be entirely wrong on this)

> Hello @watermeko! Currently I have same problem, i2c works but no frames received from VI. But I use this (https://github.com/scpcom/LicheeSG-Nano-Build) image for tests. I will try to build this sipeed image, but I think there is as problem in driver implementation for ov5647 I only managed to get the OV5647 to power on when attempting to use the provided test programs or ones I wrote myself. The OV5647 module I had didn't work with the lower I2C voltage, and there were no resistors to pull. The IMX335 seems to be a more suitable option with its 1.8V I/O, assuming the driver works. I honestly wonder if anyone has managed to get these things to read an image from a sensor. EDIT: I also wonder if the pins are correct. The OV5647 camera modules don't require mclk so I wonder if that should be disabled. Reading the schematics mclk=1 would probably be sending that signal to MIPI_RX0_N or MIPI_RX4_P. I'm assuming mclk_en=1 would make it send to MIPI_RX4_P, which is used for data on raspberry pi 22pin style camera modules (including the OV5647). It's quite possible mclk_en=1 sends it to MIPI_RX0_N, which considering the schematic has a bridge from MIPI_RX0_N to CAM_IO1 specifically stated to be the MCLK for the Sipeed GC4653 board which uses mclk=1 and mclk_en=1. Its highly likely! So try this: set mclk=1 and mclk_en=0 to (maybe) route mclk to MIPI_RX0_N (which is unused) Maybe also try setting lane_id= 2, 3, 4, -1, -1, as its possible the first index is the CSI_CLK. And see if you can read some images. If that doesn't work just try all 4 combinations of mclk and mclk_en (I could be entirely wrong on this)
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin KuRue/KuRue-OV5647:KuRue/KuRue-OV5647
git switch KuRue/KuRue-OV5647

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff KuRue/KuRue-OV5647
git switch KuRue/KuRue-OV5647
git rebase main
git switch main
git merge --ff-only KuRue/KuRue-OV5647
git switch KuRue/KuRue-OV5647
git rebase main
git switch main
git merge --no-ff KuRue/KuRue-OV5647
git switch main
git merge --squash KuRue/KuRue-OV5647
git switch main
git merge --ff-only KuRue/KuRue-OV5647
git switch main
git merge KuRue/KuRue-OV5647
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
maxpeterkaya/LicheeRV-Nano-Build!31
No description provided.