├── .gitattributes ├── LICENSE ├── README.md ├── WatchX2_PCBProject ├── 20.WatchX_TEST_V0.92 │ ├── Project Outputs for WatchX_TEST │ │ ├── Status Report.Txt │ │ ├── WatchX_TEST.BOM │ │ ├── WatchX_TEST.CSV │ │ └── __Previews │ │ │ └── WatchX_TEST.BOMPreview │ ├── WatchX_TEST.PcbDoc │ ├── WatchX_TEST.PrjPcb │ ├── WatchX_TEST.PrjPcbStructure │ ├── WatchX_TEST.SchDoc │ └── __Previews │ │ ├── WatchX_TEST.PcbDocPreview │ │ └── WatchX_TEST.SchDocPreview ├── 21.ScreenAdapterBoard │ ├── ScreenAdapterBoard.PcbDoc │ ├── ScreenAdapterBoard.PrjPcb │ ├── ScreenAdapterBoard.PrjPcbStructure │ ├── ScreenAdapterBoard.SchDoc │ ├── ScreenAdapterBoard.rar │ └── __Previews │ │ ├── ScreenAdapterBoard.PcbDocPreview │ │ └── ScreenAdapterBoard.SchDocPreview ├── 22.ScreenAdapterBoard2 │ ├── 22.ScreenAdapterBoard2.PrjPcb │ ├── 22.ScreenAdapterBoard2.PrjPcbStructure │ ├── ScreenAdapterBoard2.PcbDoc │ ├── ScreenAdapterBoard2.SchDoc │ ├── ScreenAdapterBoard2.rar │ └── __Previews │ │ ├── ScreenAdapterBoard2.PcbDocPreview │ │ └── ScreenAdapterBoard2.SchDocPreview ├── 23.WatchX_Test2 │ ├── 23.WatchX_Test2.PrjPcb │ ├── 23.WatchX_Test2.PrjPcbStructure │ ├── Project Outputs for 23.WatchX_Test2 │ │ ├── Design Rule Check - WT2.drc │ │ └── Design Rule Check - WT2.html │ ├── W2_NRF.SchDoc │ ├── WT2.PcbDoc │ ├── WT2_MCU.SchDoc │ ├── WT2_Ports.SchDoc │ ├── WT2_Power.SchDoc │ ├── WT2_Screen.SchDoc │ ├── WT2_Sensors.SchDoc │ └── __Previews │ │ ├── W2_NRF.SchDocPreview │ │ ├── WT2.PcbDocPreview │ │ ├── WT2_MCU.SchDocPreview │ │ ├── WT2_Ports.SchDocPreview │ │ ├── WT2_Power.SchDocPreview │ │ ├── WT2_Screen.SchDocPreview │ │ ├── WT2_Sensors.SchDocPreview │ │ └── WatchX_Test2.SchDocPreview ├── 24.WatchX2_Shellless │ ├── 24.WatchX2_Shellless.PrjPcb │ ├── 24.WatchX2_Shellless.PrjPcbStructure │ ├── Project Outputs for 24.WatchX2_Shellless │ │ ├── Status Report.Txt │ │ ├── WT2_SL.BOM │ │ ├── WT2_SL.CSV │ │ └── __Previews │ │ │ └── WT2_SL.BOMPreview │ ├── W2_NRF.SchDoc │ ├── WT2_MCU.SchDoc │ ├── WT2_Ports.SchDoc │ ├── WT2_Power.SchDoc │ ├── WT2_SL.PcbDoc │ ├── WT2_Screen.SchDoc │ ├── WT2_Sensors.SchDoc │ ├── WT2_Slave.SchDoc │ └── __Previews │ │ ├── W2_NRF.SchDocPreview │ │ ├── WT2_MCU.SchDocPreview │ │ ├── WT2_Ports.SchDocPreview │ │ ├── WT2_Power.SchDocPreview │ │ ├── WT2_SL.PcbDocPreview │ │ ├── WT2_Screen.SchDocPreview │ │ ├── WT2_Sensors.SchDocPreview │ │ ├── WT2_Slave.SchDocPreview │ │ └── WatchX2.SchDocPreview ├── 25.NRF51822_Test │ └── NRF51822_Test │ │ ├── History │ │ ├── NRF51822_Test.~(1).PcbDoc.Zip │ │ ├── NRF51822_Test.~(1).PrjPcb.Zip │ │ ├── NRF51822_Test.~(1).SchDoc.Zip │ │ ├── NRF51822_Test.~(2).PcbDoc.Zip │ │ ├── NRF51822_Test.~(2).PrjPcb.Zip │ │ └── NRF51822_Test.~(3).PcbDoc.Zip │ │ ├── NRF51822_Test.PcbDoc │ │ ├── NRF51822_Test.PrjPcb │ │ ├── NRF51822_Test.PrjPcbStructure │ │ ├── NRF51822_Test.SchDoc │ │ ├── Project Logs for NRF51822_Test │ │ ├── NRF51822_Test PCB ECO 2020-10-21 13-57-09.LOG │ │ ├── NRF51822_Test PCB ECO 2020-10-21 13-59-43.LOG │ │ ├── NRF51822_Test PCB ECO 2020-10-24 11-47-21.LOG │ │ ├── NRF51822_Test PCB ECO 2020-10-24 12-10-42.LOG │ │ ├── NRF51822_Test PCB ECO 2020-10-24 12-11-07.LOG │ │ ├── NRF51822_Test SCH ECO 2020-10-21 13-44-48.LOG │ │ ├── NRF51822_Test SCH ECO 2020-10-21 13-49-07.LOG │ │ ├── NRF51822_Test SCH ECO 2020-10-21 13-56-53.LOG │ │ └── NRF51822_Test SCH ECO 2020-10-24 12-10-34.LOG │ │ └── __Previews │ │ ├── NRF51822_Test.PcbDocPreview │ │ └── NRF51822_Test.SchDocPreview ├── 26.RoundScreenBase │ ├── O1CN01BrIWs228n3eg8GzaC_!!1085537976.jpg │ ├── O1CN01vlrMb528n3eZqJ3B2_!!1085537976.jpg │ ├── Project Outputs for ScreenBase │ │ ├── Design Rule Check - ScreenBase.drc │ │ └── Design Rule Check - ScreenBase.html │ ├── ScreenBase.PcbDoc │ ├── ScreenBase.PrjPcb │ ├── ScreenBase.PrjPcbStructure │ ├── ScreenBase.SchDoc │ └── __Previews │ │ ├── ScreenBase.PcbDocPreview │ │ └── ScreenBase.SchDocPreview ├── 27.WatchX2_RoundScreen │ └── WatchX2_RoundScreen │ │ ├── History │ │ └── WT2_Power.~(1).SchDoc.Zip │ │ ├── Project Outputs for WatchX2_RoundScreen │ │ ├── Status Report.Txt │ │ ├── WatchX2_RoundScreen.BOM │ │ ├── WatchX2_RoundScreen.CSV │ │ └── __Previews │ │ │ └── WatchX2_RoundScreen.BOMPreview │ │ ├── WT2_MCU.SchDoc │ │ ├── WT2_Ports.SchDoc │ │ ├── WT2_Power.SchDoc │ │ ├── WT2_Screen.SchDoc │ │ ├── WT2_Sensors.SchDoc │ │ ├── WatchX2_RoundScreen.PcbDoc │ │ ├── WatchX2_RoundScreen.PrjPcb │ │ ├── WatchX2_RoundScreen.PrjPcbStructure │ │ └── __Previews │ │ ├── WT2_MCU.SchDocPreview │ │ ├── WT2_Ports.SchDocPreview │ │ ├── WT2_Power.SchDocPreview │ │ ├── WT2_Screen.SchDocPreview │ │ ├── WT2_Sensors.SchDocPreview │ │ └── WatchX2_RoundScreen.PcbDocPreview ├── 3D打印模型 │ ├── button.STL │ ├── preview.JPG │ ├── watchShell.STL │ ├── 外壳.SLDPRT │ └── 按键.SLDPRT ├── BackUp │ ├── WatchX_TEST_2.SchDoc │ └── __Previews │ │ └── WatchX_TEST_2.SchDocPreview ├── DataSheet │ ├── 1.3inch圆形可触摸240x240 │ │ ├── 1.3寸round CTP AML6560 Shenzhen Amelin Electronic Technology co.,Ltd.pdf │ │ ├── 6560A2结构图 -191101.bak │ │ ├── AML6560A2结构图 -191101.dwg │ │ ├── FT驱动包.rar │ │ ├── HSD128+GC9A01.txt │ │ ├── LCD-DST-3015 GC9A01 DataSheet V1.0 Preliminary(2).pdf │ │ └── 调试规格书1.3inch 圆形 240X240 IPS SPI-4LINE AML128A1502 Shenzhen Amelin Electronic Technology Co. Ltd.pdf │ ├── 1.54inch_screen │ │ ├── 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD.pdf │ │ ├── All_Drv_MTK_V3.1_20150504_Release.zip │ │ ├── All_Drv_MTK_V3.1_20150504_Release │ │ │ ├── docs │ │ │ │ └── 芯片驱动指导文档_MTK平台_.pdf │ │ │ ├── readme.txt │ │ │ └── src │ │ │ │ ├── 32bit │ │ │ │ └── ft_gesture_lib.a_shipped │ │ │ │ ├── 64bit │ │ │ │ └── ft_gesture_lib.a_shipped │ │ │ │ ├── FT_Upgrade_App.i │ │ │ │ ├── Makefile │ │ │ │ ├── focaltech_Gesture.c │ │ │ │ ├── focaltech_core.c │ │ │ │ ├── focaltech_core.h │ │ │ │ ├── focaltech_ctl.c │ │ │ │ ├── focaltech_ex_fun.c │ │ │ │ ├── focaltech_flash.c │ │ │ │ └── ft_gesture_lib.h │ │ ├── Arduino-FT6336U-master │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── example │ │ │ │ ├── ReadTouchParam │ │ │ │ │ ├── FT6336U.cpp │ │ │ │ │ ├── FT6336U.h │ │ │ │ │ └── ReadTouchParam.ino │ │ │ │ └── ScanMultiTouch │ │ │ │ │ └── ScanMultiTouch.ino │ │ │ ├── library.properties │ │ │ └── src │ │ │ │ ├── FT6336U.cpp │ │ │ │ └── FT6336U.h │ │ ├── D-FT6336G-DataSheet-V1.0.pdf │ │ ├── FT5206通讯协议说明.pdf │ │ ├── Ft6336GU_Firmware 外部寄存器_20151112.xlsx │ │ ├── IC_寄存器_AN_CTPM_Standard.pdf │ │ ├── spiST7789 │ │ │ ├── 1.54Inch 240X240 IPS SPI AML015410 V1-Shenzhen Amelin Electronic Technology Co. Ltd. .pdf │ │ │ ├── ST7789V_SPEC_V1.0.pdf │ │ │ └── 初始化代码ST7789_BOE1.54 updata.INI │ │ ├── 中景园ZJY154S0800TG01技术资料 │ │ │ ├── 01-规格书与控制芯片手册.zip │ │ │ ├── 02-1.54IPS程序源码.zip │ │ │ ├── 03-LCD取模教程.zip │ │ │ └── 04-示例图片.zip │ │ ├── 深圳市阿美林电子 1.54寸FRD154H2501调试资料 │ │ │ ├── 1.54inch 240X240 IPS RGB-6BIT AML-FRD154H2501 Shenzhen Amelin Electronic Technology Co. Ltd.PDF │ │ │ ├── 154HSD_RGB6bit__ init.txt │ │ │ └── ST7789V_SPEC_V1.0.pdf │ │ ├── 调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD │ │ │ ├── 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD.pdf │ │ │ ├── All_Drv_MTK_V3.1_20150504_Release.zip │ │ │ ├── D-FT6336G-DataSheet-V1.0.pdf │ │ │ ├── FT5206通讯协议说明.pdf │ │ │ ├── Ft6336GU_Firmware 外部寄存器_20151112.xlsx │ │ │ └── IC_寄存器_AN_CTPM_Standard.pdf │ │ └── 调试资料包1.54Inch 240X240 IPS MCU 8BIT AML-FRD15424IPS-C Shenzhen Amelin Electronic Technology Co., Ltd │ │ │ ├── 1.54Inch 240X240IPS MCU 8BIT AML-FRD15424IPS-C.pdf │ │ │ ├── BOE 1.54 ips 初始化代码.txt │ │ │ ├── ST7789V_SPEC_V1.0.pdf │ │ │ └── 测试架点亮例程 1.54 inch 240X240 IPS MCU-8BIT AML-FRD15424IPS-D.TXT │ ├── AT32F403 │ │ ├── DS_AT32F403_V1.05.pdf │ │ └── RM_AT32F403_V1.01.pdf │ ├── BMP280.pdf │ ├── BSS135K_datasheet.pdf │ ├── CSNP4GCR01-AMW(V1.1).pdf │ ├── LIS2DS12 │ │ ├── UM1064.pdf │ │ ├── Unico_Lite_v3.0.0.0.zip │ │ ├── Unico_Lite_v3.0.0.0 │ │ │ ├── .vs │ │ │ │ └── Unico_Lite │ │ │ │ │ └── v16 │ │ │ │ │ └── .suo │ │ │ ├── Unico_Lite.sln │ │ │ ├── Unico_Lite.suo │ │ │ └── Unico_Lite │ │ │ │ ├── Form1.Designer.cs │ │ │ │ ├── Form1.cs │ │ │ │ ├── Form1.resx │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── Resources.Designer.cs │ │ │ │ ├── Resources.resx │ │ │ │ ├── Settings.Designer.cs │ │ │ │ └── Settings.settings │ │ │ │ ├── ST_Ek_01.ico │ │ │ │ ├── ST_LifeAugmented.png │ │ │ │ ├── Unico_Lite.csproj │ │ │ │ ├── Unico_Lite.csproj.user │ │ │ │ ├── app.config │ │ │ │ ├── bin │ │ │ │ └── Release │ │ │ │ │ ├── Unico_Lite.exe │ │ │ │ │ ├── Unico_Lite.exe.config │ │ │ │ │ └── Unico_Lite.pdb │ │ │ │ ├── com_refresh_icon.png │ │ │ │ └── obj │ │ │ │ └── Release │ │ │ │ ├── Unico_Lite.Form1.resources │ │ │ │ ├── Unico_Lite.Properties.Resources.resources │ │ │ │ ├── Unico_Lite.csproj.CoreCompileInputs.cache │ │ │ │ ├── Unico_Lite.csproj.FileListAbsolute.txt │ │ │ │ ├── Unico_Lite.csproj.GenerateResource.cache │ │ │ │ ├── Unico_Lite.csprojAssemblyReference.cache │ │ │ │ ├── Unico_Lite.exe │ │ │ │ └── Unico_Lite.pdb │ │ ├── dm00218428-lis2ds12-alwayson-3d-accelerometer-stmicroelectronics.pdf │ │ ├── lis2ds12.pdf │ │ └── mcu driver │ │ │ ├── Acc │ │ │ ├── AIS328DQ_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_22-03-2016 │ │ │ │ │ ├── AIS328DQ_Driver │ │ │ │ │ ├── AIS328DQ_ACC_driver.c │ │ │ │ │ └── AIS328DQ_ACC_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main_AIS328DQ_example.c │ │ │ ├── H3LIS331DL_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_26-02-2016 │ │ │ │ │ ├── H3LIS331DL_Driver │ │ │ │ │ ├── H3LIS331DL_ACC_driver.c │ │ │ │ │ └── H3LIS331DL_ACC_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main__H3LIS331DL_example.c │ │ │ ├── LIS2DE12_Driver_Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_01-03-2016 │ │ │ │ │ ├── LIS2DE12_Driver │ │ │ │ │ ├── LIS2DE12_driver.c │ │ │ │ │ └── LIS2DE12_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main__LIS2DE12_example_.c │ │ │ ├── LIS2DH12_Driver_Example │ │ │ │ └── tag │ │ │ │ │ └── ver2.2_18-04-2016 │ │ │ │ │ ├── LIS2DH12_Driver │ │ │ │ │ ├── LIS2DH12_ACC_driver.c │ │ │ │ │ └── LIS2DH12_ACC_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main__LIS2DH12_example_.c │ │ │ ├── LIS2DS12_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.6_20170331 │ │ │ │ │ ├── 6D.c │ │ │ │ │ ├── Activity_Inactivity.c │ │ │ │ │ ├── DoubleTAP.c │ │ │ │ │ ├── FIFO.c │ │ │ │ │ ├── FIFO_bypass_to_cont.c │ │ │ │ │ ├── FIFO_cont_to_FIFO.c │ │ │ │ │ ├── FIFO_continuous.c │ │ │ │ │ ├── FreeFall.c │ │ │ │ │ ├── LIS2DS12_Driver │ │ │ │ │ ├── LIS2DS12_ACC_driver.c │ │ │ │ │ └── LIS2DS12_ACC_driver.h │ │ │ │ │ ├── Pedometer.c │ │ │ │ │ ├── ReadDRDY.c │ │ │ │ │ ├── ReadData.c │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ ├── SigMotion.c │ │ │ │ │ ├── TAP.c │ │ │ │ │ ├── Tilt.c │ │ │ │ │ └── Wakeup.c │ │ │ ├── LIS2DW12_Driver_Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_20170511 │ │ │ │ │ ├── FIFO_continuous.c │ │ │ │ │ ├── FreeFall.c │ │ │ │ │ ├── LIS2DW12_Driver │ │ │ │ │ ├── LIS2DW12_ACC_driver.c │ │ │ │ │ └── LIS2DW12_ACC_driver.h │ │ │ │ │ ├── ReadDRDY.c │ │ │ │ │ ├── ReadData.c │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── Wakeup.c │ │ │ ├── LIS2HH12_Driver_Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_06-06-2016 │ │ │ │ │ ├── LIS2HH12_Driver │ │ │ │ │ ├── LIS2HH12_driver.c │ │ │ │ │ └── LIS2HH12_driver.h │ │ │ │ │ ├── LIS2HH12_example.c │ │ │ │ │ └── ReadMe.txt │ │ │ └── LIS3DSH_Driver_Example │ │ │ │ └── tag │ │ │ │ └── ver1.1_05-05-2016 │ │ │ │ ├── LIS3DSH_driver │ │ │ │ ├── LIS3DSH_ACC_driver.c │ │ │ │ └── LIS3DSH_ACC_driver.h │ │ │ │ ├── ReadMe.txt │ │ │ │ └── main_LIS3DSH_example_.c │ │ │ ├── Acc_Gyro │ │ │ ├── LSM330_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_20161220 │ │ │ │ │ ├── LSM330_Driver │ │ │ │ │ ├── LSM330_ACC_driver.c │ │ │ │ │ ├── LSM330_ACC_driver.h │ │ │ │ │ ├── LSM330_GYRO_driver.c │ │ │ │ │ └── LSM330_GYRO_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main_LIS330_example.c │ │ │ ├── LSM6DS0_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_10-08-2016 │ │ │ │ │ ├── LSM6DS0_Driver │ │ │ │ │ ├── LSM6DS0_ACC_GYRO_driver.c │ │ │ │ │ └── LSM6DS0_ACC_GYRO_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main_LSM6DS0_example.c │ │ │ ├── LSM6DS3_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver2.0_27-06-2016 │ │ │ │ │ ├── LSM6DS3_Driver │ │ │ │ │ ├── LSM6DS3_ACC_GYRO_driver.c │ │ │ │ │ └── LSM6DS3_ACC_GYRO_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main__LSM6DS3_example.c │ │ │ ├── LSM6DSL_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.6_20161201 │ │ │ │ │ ├── LSM6DSL_Driver │ │ │ │ │ ├── LSM6DSL_ACC_GYRO_driver.c │ │ │ │ │ └── LSM6DSL_ACC_GYRO_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ ├── example_LSM6DSL_main.c │ │ │ │ │ ├── example_Pedometer.c │ │ │ │ │ └── example_SensorHub.c │ │ │ └── LSM6DSO_Driver__Example │ │ │ │ └── tag │ │ │ │ └── ver0.2_20170512 │ │ │ │ ├── LSM6DSL_Driver │ │ │ │ ├── lsm6dso_reg.c │ │ │ │ └── lsm6dso_reg.h │ │ │ │ ├── ReadData.c │ │ │ │ ├── ReadData_OIS.c │ │ │ │ └── ReadMe.txt │ │ │ ├── Acc_Mag │ │ │ ├── LSM303AH_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_15-03-2016 │ │ │ │ │ ├── LSM303AH_Driver │ │ │ │ │ ├── LSM303AH_ACC_driver.c │ │ │ │ │ ├── LSM303AH_ACC_driver.h │ │ │ │ │ ├── LSM303AH_MAG_driver.c │ │ │ │ │ └── LSM303AH_MAG_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main_LSM303AH_example.c │ │ │ └── LSM303C_Driver__Example │ │ │ │ └── tag │ │ │ │ └── ver1.1_20160922 │ │ │ │ ├── LSM303C_Driver │ │ │ │ ├── LSM303C_ACC_driver.c │ │ │ │ ├── LSM303C_ACC_driver.h │ │ │ │ ├── LSM303C_MAG_driver.c │ │ │ │ └── LSM303C_MAG_driver.h │ │ │ │ ├── LSM303C_basic.c │ │ │ │ └── ReadMe.txt │ │ │ ├── Ambient │ │ │ ├── HTS221_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_03-10-2016 │ │ │ │ │ ├── HTS221_Driver │ │ │ │ │ ├── HTS221_Driver.c │ │ │ │ │ └── HTS221_Driver.h │ │ │ │ │ ├── HTS221_example.c │ │ │ │ │ └── ReadMe.txt │ │ │ ├── LPS22HB_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_20161213 │ │ │ │ │ ├── LPS22HB_Driver │ │ │ │ │ ├── LPS22HB_Driver.c │ │ │ │ │ └── LPS22HB_Driver.h │ │ │ │ │ ├── ReadDRDY.c │ │ │ │ │ └── ReadMe.txt │ │ │ ├── LPS25HB_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_10-08-2016 │ │ │ │ │ └── LPS25HB_Driver │ │ │ │ │ ├── LPS25HB_Driver.c │ │ │ │ │ └── LPS25HB_Driver.h │ │ │ └── LPS35HW_Driver__Example │ │ │ │ └── tag │ │ │ │ └── ver1.0_13-09-2016 │ │ │ │ └── LPS35HW_Driver │ │ │ │ ├── lps35hw_Driver.c │ │ │ │ └── lps35hw_Driver.h │ │ │ ├── Gyro │ │ │ ├── A3G4250D_Driver__Example │ │ │ │ └── tag │ │ │ │ │ └── ver1.1_30-03-2016 │ │ │ │ │ ├── A3G4250D_Driver │ │ │ │ │ ├── A3G4250D_GYRO_driver.c │ │ │ │ │ └── A3G4250D_GYRO_driver.h │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── main_A3G4250D_example.c │ │ │ └── L3GD20H_Driver__Example │ │ │ │ └── tag │ │ │ │ └── ver1.0_20131001 │ │ │ │ ├── L3GD20H_Driver │ │ │ │ ├── L3GD20H_driver.c │ │ │ │ └── L3GD20H_driver.h │ │ │ │ ├── L3GD20H_example.c │ │ │ │ └── ReadMe.txt │ │ │ └── Mag │ │ │ ├── LIS2MDL_Driver__Example │ │ │ └── tag │ │ │ │ └── ver1.1_27-02-2017 │ │ │ │ ├── Interrupt.c │ │ │ │ ├── LIS2MDL_Driver │ │ │ │ ├── LIS2MDL_MAG_driver.c │ │ │ │ └── LIS2MDL_MAG_driver.h │ │ │ │ ├── ReadDRDY.c │ │ │ │ ├── ReadData.c │ │ │ │ ├── ReadMe.txt │ │ │ │ ├── ReadSingleDRDY.c │ │ │ │ └── main_LIS2MDL_example.c │ │ │ └── LIS3MDL_Driver__Example │ │ │ └── tag │ │ │ └── ver1.2_09-08-2016 │ │ │ ├── LIS3MDL_Driver │ │ │ ├── LIS3MDL_MAG_driver.c │ │ │ └── LIS3MDL_MAG_driver.h │ │ │ ├── ReadMe.txt │ │ │ └── main_LIS3MDL_example.c │ ├── LP5907_datasheet.pdf │ ├── Nrf51822-Package │ │ ├── NRF51822-PAN_v3.0.pdf │ │ ├── NRF51822_PS_v3.1.pdf │ │ ├── NRF51_Series_Reference_manual_v3.0.pdf │ │ └── PCB封装 │ │ │ ├── Core51822-B(1).PcbDoc │ │ │ ├── Core51822-B.PcbDoc │ │ │ ├── core51822(1).PcbDoc │ │ │ └── core51822.PcbDoc │ ├── SGM2019_datasheet.pdf │ ├── TP5100_datasheet.pdf │ ├── W25N01GVZEIG_datasheet.pdf │ ├── W25Q256JVEIQ_datasheet.pdf │ ├── YX66915-血氧浓度模块MAX30102-190515 │ │ ├── 30102.jpg │ │ ├── MAX30100-SCH.jpg │ │ ├── MAX30102.pdf │ │ └── arduino │ │ │ └── ARDUINO │ │ │ └── RD117_ARDUINO │ │ │ ├── Adafruit_NeoPixel.cpp │ │ │ ├── Adafruit_NeoPixel.h │ │ │ ├── RD117_ARDUINO.ino │ │ │ ├── SoftI2CMaster.h │ │ │ ├── algorithm.cpp │ │ │ ├── algorithm.h │ │ │ ├── max30102.cpp │ │ │ └── max30102.h │ ├── nrf52832 │ │ ├── nRF52832_PB_v1.7.pdf │ │ ├── nRF52832_PS_v1.4.pdf │ │ └── nRF52832_Rev_1_Errata_v1.6.pdf │ ├── si2301cd.pdf │ ├── si2302cd.pdf │ └── 调试资料包1.3inch 圆形 新款240X240 IPS SPI-4LINE AML128A1502 Shenzhen Amelin Electronic Technology Co. Ltd.rar ├── __Previews │ ├── WatchX2.PcbDocPreview │ └── WatchX2.SchDocPreview └── nRF51822_Test │ ├── History │ ├── nRF51822.~(1).PcbDoc.Zip │ └── nRF51822.~(1).SchDoc.Zip │ ├── __Previews │ ├── nRF51822.PcbDocPreview │ └── nRF51822.SchDocPreview │ ├── nRF51822.PcbDoc │ ├── nRF51822.PcbDoc.htm │ ├── nRF51822.PrjPcb │ └── nRF51822.SchDoc └── images ├── 1598448409502.jpeg ├── 20210418142456.png ├── IMG_20200823_162109.jpg ├── IMG_20210518_153651.jpg ├── IMG_20210527_110230.jpg └── IMG_20210527_110259.jpg /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WatchX-II_Hardware 2 | 3 | 基于LVGL的开源智能手表的硬件资料 4 | >[软件设计](https://github.com/FASTSHIFT/WatchX-II) by FASTSHIFT 5 | 6 | 主控:AT32F403ACCU7 7 | 8 | 屏幕:240x240 IPS 可触摸方屏、圆屏(方屏接口为8位并口,圆屏接口为4线SPI) 9 | 10 | IMU:LIS2DS12 11 | 12 | 心率计:MAX30102 13 | 14 | SDNAND:CSNP4GCR01 15 | 16 | 正在施工。。。。 17 | 18 | 23.WatchX_Test2 此为240x240方屏的测试板 19 | ![IMG_20200823_162109](https://github.com/Trigger-CN/WatchX-II_Hardware/blob/master/images/IMG_20200823_162109.jpg) 20 | 21 | 24.WatchX2_Shellless 此为240x240方屏的正式板 22 | ![20210418142456](https://github.com/Trigger-CN/WatchX-II_Hardware/blob/master/images/20210418142456.png) 23 | 24 | 手表无壳展示 25 | ![IMG_20210518_153651](https://github.com/Trigger-CN/WatchX-II_Hardware/blob/master/images/IMG_20210518_153651.jpg) 26 | 27 | 手表带壳展示 28 | ![IMG_20210527_110259](https://github.com/Trigger-CN/WatchX-II_Hardware/blob/master/images/IMG_20210527_110259.jpg) 29 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/20.WatchX_TEST_V0.92/Project Outputs for WatchX_TEST/Status Report.Txt: -------------------------------------------------------------------------------- 1 | Output: Bill of Materials 2 | Type : BOM 3 | From : Variant [[No Variations]] of Project [WatchX_TEST.PrjPcb] 4 | 5 | 6 | Files Generated : 0 7 | Documents Printed : 0 8 | 9 | Finished Output Generation At 22:21:31 On 2020/7/13 10 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/20.WatchX_TEST_V0.92/Project Outputs for WatchX_TEST/WatchX_TEST.BOM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/20.WatchX_TEST_V0.92/Project Outputs for WatchX_TEST/WatchX_TEST.BOM -------------------------------------------------------------------------------- /WatchX2_PCBProject/20.WatchX_TEST_V0.92/Project Outputs for WatchX_TEST/WatchX_TEST.CSV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/20.WatchX_TEST_V0.92/Project Outputs for WatchX_TEST/WatchX_TEST.CSV -------------------------------------------------------------------------------- /WatchX2_PCBProject/20.WatchX_TEST_V0.92/WatchX_TEST.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/20.WatchX_TEST_V0.92/WatchX_TEST.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/20.WatchX_TEST_V0.92/WatchX_TEST.PrjPcbStructure: -------------------------------------------------------------------------------- 1 | Record=TopLevelDocument|FileName=WatchX_TEST.SchDoc 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/20.WatchX_TEST_V0.92/WatchX_TEST.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/20.WatchX_TEST_V0.92/WatchX_TEST.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/21.ScreenAdapterBoard/ScreenAdapterBoard.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/21.ScreenAdapterBoard/ScreenAdapterBoard.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/21.ScreenAdapterBoard/ScreenAdapterBoard.PrjPcbStructure: -------------------------------------------------------------------------------- 1 | Record=TopLevelDocument|FileName=ScreenAdapterBoard.SchDoc 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/21.ScreenAdapterBoard/ScreenAdapterBoard.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/21.ScreenAdapterBoard/ScreenAdapterBoard.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/21.ScreenAdapterBoard/ScreenAdapterBoard.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/21.ScreenAdapterBoard/ScreenAdapterBoard.rar -------------------------------------------------------------------------------- /WatchX2_PCBProject/22.ScreenAdapterBoard2/22.ScreenAdapterBoard2.PrjPcbStructure: -------------------------------------------------------------------------------- 1 | Record=TopLevelDocument|FileName=ScreenAdapterBoard2.SchDoc 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/22.ScreenAdapterBoard2/ScreenAdapterBoard2.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/22.ScreenAdapterBoard2/ScreenAdapterBoard2.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/22.ScreenAdapterBoard2/ScreenAdapterBoard2.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/22.ScreenAdapterBoard2/ScreenAdapterBoard2.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/22.ScreenAdapterBoard2/ScreenAdapterBoard2.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/22.ScreenAdapterBoard2/ScreenAdapterBoard2.rar -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/23.WatchX_Test2.PrjPcbStructure: -------------------------------------------------------------------------------- 1 | Record=TopLevelDocument|FileName=WT2_MCU.SchDoc 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/Project Outputs for 23.WatchX_Test2/Design Rule Check - WT2.drc: -------------------------------------------------------------------------------- 1 | Protel Design System Design Rule Check 2 | PCB File : C:\Users\cjb75\Desktop\23.WatchX_Test2\WT2.PcbDoc 3 | Date : 2020/8/18 4 | Time : 22:59:54 5 | 6 | Processing Rule : Short-Circuit Constraint (Allowed=No) (All),(All) 7 | Rule Violations :0 8 | 9 | Processing Rule : Un-Routed Net Constraint ( (All) ) 10 | Rule Violations :0 11 | 12 | Processing Rule : Clearance Constraint (Gap=6mil) (All),(All) 13 | Rule Violations :0 14 | 15 | Processing Rule : Power Plane Connect Rule(Direct Connect )(Expansion=20mil) (Conductor Width=10mil) (Air Gap=10mil) (Entries=4) (All) 16 | Rule Violations :0 17 | 18 | Processing Rule : Width Constraint (Min=6mil) (Max=100mil) (Preferred=6mil) (All) 19 | Rule Violations :0 20 | 21 | Processing Rule : Height Constraint (Min=0mil) (Max=1000mil) (Prefered=500mil) (All) 22 | Rule Violations :0 23 | 24 | Processing Rule : Hole Size Constraint (Min=1mil) (Max=100mil) (Disabled)(All) 25 | Rule Violations :0 26 | 27 | Processing Rule : Hole To Hole Clearance (Gap=10mil) (Disabled)(All),(All) 28 | Rule Violations :0 29 | 30 | Processing Rule : Minimum Solder Mask Sliver (Gap=10mil) (Disabled)(All),(All) 31 | Rule Violations :0 32 | 33 | Processing Rule : Silk To Solder Mask (Clearance=10mil) (Disabled)(IsPad),(All) 34 | Rule Violations :0 35 | 36 | Processing Rule : Silk to Silk (Clearance=10mil) (Disabled)(All),(All) 37 | Rule Violations :0 38 | 39 | Processing Rule : Net Antennae (Tolerance=0mil) (Disabled)(All) 40 | Rule Violations :0 41 | 42 | Processing Rule : Modified Polygon (Allow modified: No), (Allow shelved: No) 43 | Rule Violations :0 44 | 45 | 46 | Violations Detected : 0 47 | Time Elapsed : 00:00:02 -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/W2_NRF.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/23.WatchX_Test2/W2_NRF.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/WT2.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/23.WatchX_Test2/WT2.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/WT2_MCU.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/23.WatchX_Test2/WT2_MCU.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/WT2_Ports.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/23.WatchX_Test2/WT2_Ports.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/WT2_Power.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/23.WatchX_Test2/WT2_Power.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/WT2_Screen.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/23.WatchX_Test2/WT2_Screen.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/23.WatchX_Test2/WT2_Sensors.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/23.WatchX_Test2/WT2_Sensors.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/24.WatchX2_Shellless.PrjPcbStructure: -------------------------------------------------------------------------------- 1 | Record=TopLevelDocument|FileName=WT2_MCU.SchDoc 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/Project Outputs for 24.WatchX2_Shellless/Status Report.Txt: -------------------------------------------------------------------------------- 1 | Output: Simple BOM 2 | Type : SimpleBOM 3 | From : Variant [[No Variations]] of Project [24.WatchX2_Shellless.PrjPcb] 4 | Generated File[WT2_SL.BOM] 5 | Generated File[WT2_SL.CSV] 6 | 7 | 8 | Files Generated : 2 9 | Documents Printed : 0 10 | 11 | Finished Output Generation At 9:36:04 On 2021/4/22 12 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/Project Outputs for 24.WatchX2_Shellless/WT2_SL.BOM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/Project Outputs for 24.WatchX2_Shellless/WT2_SL.BOM -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/Project Outputs for 24.WatchX2_Shellless/WT2_SL.CSV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/Project Outputs for 24.WatchX2_Shellless/WT2_SL.CSV -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/W2_NRF.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/W2_NRF.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/WT2_MCU.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/WT2_MCU.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Ports.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Ports.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Power.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Power.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/WT2_SL.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/WT2_SL.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Screen.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Screen.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Sensors.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Sensors.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Slave.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/24.WatchX2_Shellless/WT2_Slave.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(1).PcbDoc.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(1).PcbDoc.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(1).PrjPcb.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(1).PrjPcb.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(1).SchDoc.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(1).SchDoc.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(2).PcbDoc.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(2).PcbDoc.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(2).PrjPcb.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(2).PrjPcb.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(3).PcbDoc.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/History/NRF51822_Test.~(3).PcbDoc.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/NRF51822_Test.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/NRF51822_Test.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/NRF51822_Test.PrjPcb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/NRF51822_Test.PrjPcb -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/NRF51822_Test.PrjPcbStructure: -------------------------------------------------------------------------------- 1 | Record=TopLevelDocument|FileName=NRF51822_Test.SchDoc 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/NRF51822_Test.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/NRF51822_Test.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-21 13-57-09.LOG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-21 13-57-09.LOG -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-21 13-59-43.LOG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-21 13-59-43.LOG -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-24 11-47-21.LOG: -------------------------------------------------------------------------------- 1 | Removed Pin From Net: NetName=GND Pin=U1-49 2 | Added Component: Designator=E1(AN9520) 3 | Added Pin To Net: NetName=NetC10_1 Pin=E1-1 4 | Added Member To Class: ClassName=NRF51822_Test Member=Component E1 Antenna 5 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-24 12-10-42.LOG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-24 12-10-42.LOG -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-24 12-11-07.LOG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test PCB ECO 2020-10-24 12-11-07.LOG -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test SCH ECO 2020-10-21 13-44-48.LOG: -------------------------------------------------------------------------------- 1 | Change Component Designator: Old Designator=C? New Designator=C1 2 | Change Component Designator: Old Designator=C? New Designator=C2 3 | Change Component Designator: Old Designator=C? New Designator=C3 4 | Change Component Designator: Old Designator=C? New Designator=C4 5 | Change Component Designator: Old Designator=C? New Designator=C5 6 | Change Component Designator: Old Designator=C? New Designator=C6 7 | Change Component Designator: Old Designator=C? New Designator=C7 8 | Change Component Designator: Old Designator=C? New Designator=C8 9 | Change Component Designator: Old Designator=C? New Designator=C9 10 | Change Component Designator: Old Designator=C? New Designator=C10 11 | Change Component Designator: Old Designator=C? New Designator=C11 12 | Change Component Designator: Old Designator=C? New Designator=C12 13 | Change Component Designator: Old Designator=C? New Designator=C13 14 | Change Component Designator: Old Designator=L? New Designator=L1 15 | Change Component Designator: Old Designator=L? New Designator=L2 16 | Change Component Designator: Old Designator=L? New Designator=L3 17 | Change Component Designator: Old Designator=U? New Designator=U1 18 | Change Component Designator: Old Designator=Y? New Designator=Y1 19 | Change Component Designator: Old Designator=Y? New Designator=Y2 20 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test SCH ECO 2020-10-21 13-49-07.LOG: -------------------------------------------------------------------------------- 1 | Change Component Designator: Old Designator=L? New Designator=L4 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test SCH ECO 2020-10-21 13-56-53.LOG: -------------------------------------------------------------------------------- 1 | Change Component Designator: Old Designator=P? New Designator=P1 2 | Change Component Designator: Old Designator=P? New Designator=P2 3 | Change Component Designator: Old Designator=P? New Designator=P3 4 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/25.NRF51822_Test/NRF51822_Test/Project Logs for NRF51822_Test/NRF51822_Test SCH ECO 2020-10-24 12-10-34.LOG: -------------------------------------------------------------------------------- 1 | Change Component Designator: Old Designator=C? New Designator=C14 2 | Change Component Designator: Old Designator=C? New Designator=C15 3 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/26.RoundScreenBase/O1CN01BrIWs228n3eg8GzaC_!!1085537976.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/26.RoundScreenBase/O1CN01BrIWs228n3eg8GzaC_!!1085537976.jpg -------------------------------------------------------------------------------- /WatchX2_PCBProject/26.RoundScreenBase/O1CN01vlrMb528n3eZqJ3B2_!!1085537976.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/26.RoundScreenBase/O1CN01vlrMb528n3eZqJ3B2_!!1085537976.jpg -------------------------------------------------------------------------------- /WatchX2_PCBProject/26.RoundScreenBase/Project Outputs for ScreenBase/Design Rule Check - ScreenBase.drc: -------------------------------------------------------------------------------- 1 | Protel Design System Design Rule Check 2 | PCB File : D:\PCB\26.ScreenBase\ScreenBase.PcbDoc 3 | Date : 2021/3/24 4 | Time : 14:02:52 5 | 6 | Processing Rule : Modified Polygon (Allow modified: No), (Allow shelved: No) 7 | Rule Violations :0 8 | 9 | Processing Rule : Net Antennae (Tolerance=0mil) (Disabled)(All) 10 | Rule Violations :0 11 | 12 | Processing Rule : Silk to Silk (Clearance=10mil) (Disabled)(All),(All) 13 | Rule Violations :0 14 | 15 | Processing Rule : Silk To Solder Mask (Clearance=10mil) (Disabled)(IsPad),(All) 16 | Rule Violations :0 17 | 18 | Processing Rule : Minimum Solder Mask Sliver (Gap=10mil) (Disabled)(All),(All) 19 | Rule Violations :0 20 | 21 | Processing Rule : Hole To Hole Clearance (Gap=10mil) (Disabled)(All),(All) 22 | Rule Violations :0 23 | 24 | Processing Rule : Hole Size Constraint (Min=1mil) (Max=100mil) (Disabled)(All) 25 | Rule Violations :0 26 | 27 | Processing Rule : Height Constraint (Min=0mil) (Max=1000mil) (Prefered=500mil) (Disabled)(All) 28 | Rule Violations :0 29 | 30 | Processing Rule : Width Constraint (Min=6mil) (Max=133mil) (Preferred=6mil) (All) 31 | Rule Violations :0 32 | 33 | Processing Rule : Power Plane Connect Rule(Direct Connect )(Expansion=20mil) (Conductor Width=10mil) (Air Gap=10mil) (Entries=4) (All) 34 | Rule Violations :0 35 | 36 | Processing Rule : Clearance Constraint (Gap=6mil) (All),(All) 37 | Rule Violations :0 38 | 39 | Processing Rule : Un-Routed Net Constraint ( (All) ) 40 | Rule Violations :0 41 | 42 | Processing Rule : Short-Circuit Constraint (Allowed=No) (All),(All) 43 | Rule Violations :0 44 | 45 | 46 | Violations Detected : 0 47 | Time Elapsed : 00:00:01 -------------------------------------------------------------------------------- /WatchX2_PCBProject/26.RoundScreenBase/ScreenBase.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/26.RoundScreenBase/ScreenBase.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/26.RoundScreenBase/ScreenBase.PrjPcb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/26.RoundScreenBase/ScreenBase.PrjPcb -------------------------------------------------------------------------------- /WatchX2_PCBProject/26.RoundScreenBase/ScreenBase.PrjPcbStructure: -------------------------------------------------------------------------------- 1 | Record=TopLevelDocument|FileName=ScreenBase.SchDoc 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/26.RoundScreenBase/ScreenBase.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/26.RoundScreenBase/ScreenBase.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/History/WT2_Power.~(1).SchDoc.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/History/WT2_Power.~(1).SchDoc.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/Project Outputs for WatchX2_RoundScreen/Status Report.Txt: -------------------------------------------------------------------------------- 1 | Output: Simple BOM 2 | Type : SimpleBOM 3 | From : Variant [[No Variations]] of Project [WatchX2_RoundScreen.PrjPcb] 4 | Generated File[WatchX2_RoundScreen.BOM] 5 | Generated File[WatchX2_RoundScreen.CSV] 6 | 7 | 8 | Files Generated : 2 9 | Documents Printed : 0 10 | 11 | Finished Output Generation At 7:55:49 On 2021/4/22 12 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/Project Outputs for WatchX2_RoundScreen/WatchX2_RoundScreen.BOM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/Project Outputs for WatchX2_RoundScreen/WatchX2_RoundScreen.BOM -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/Project Outputs for WatchX2_RoundScreen/WatchX2_RoundScreen.CSV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/Project Outputs for WatchX2_RoundScreen/WatchX2_RoundScreen.CSV -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_MCU.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_MCU.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_Ports.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_Ports.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_Power.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_Power.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_Screen.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_Screen.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_Sensors.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WT2_Sensors.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WatchX2_RoundScreen.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WatchX2_RoundScreen.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/27.WatchX2_RoundScreen/WatchX2_RoundScreen/WatchX2_RoundScreen.PrjPcbStructure: -------------------------------------------------------------------------------- 1 | Record=TopLevelDocument|FileName=WT2_MCU.SchDoc 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/3D打印模型/button.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/3D打印模型/button.STL -------------------------------------------------------------------------------- /WatchX2_PCBProject/3D打印模型/preview.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/3D打印模型/preview.JPG -------------------------------------------------------------------------------- /WatchX2_PCBProject/3D打印模型/watchShell.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/3D打印模型/watchShell.STL -------------------------------------------------------------------------------- /WatchX2_PCBProject/3D打印模型/外壳.SLDPRT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/3D打印模型/外壳.SLDPRT -------------------------------------------------------------------------------- /WatchX2_PCBProject/3D打印模型/按键.SLDPRT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/3D打印模型/按键.SLDPRT -------------------------------------------------------------------------------- /WatchX2_PCBProject/BackUp/WatchX_TEST_2.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/BackUp/WatchX_TEST_2.SchDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/1.3寸round CTP AML6560 Shenzhen Amelin Electronic Technology co.,Ltd.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/1.3寸round CTP AML6560 Shenzhen Amelin Electronic Technology co.,Ltd.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/6560A2结构图 -191101.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/6560A2结构图 -191101.bak -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/AML6560A2结构图 -191101.dwg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/AML6560A2结构图 -191101.dwg -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/FT驱动包.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/FT驱动包.rar -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/LCD-DST-3015 GC9A01 DataSheet V1.0 Preliminary(2).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/LCD-DST-3015 GC9A01 DataSheet V1.0 Preliminary(2).pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/调试规格书1.3inch 圆形 240X240 IPS SPI-4LINE AML128A1502 Shenzhen Amelin Electronic Technology Co. Ltd.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.3inch圆形可触摸240x240/调试规格书1.3inch 圆形 240X240 IPS SPI-4LINE AML128A1502 Shenzhen Amelin Electronic Technology Co. Ltd.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release.zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/docs/芯片驱动指导文档_MTK平台_.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/docs/芯片驱动指导文档_MTK平台_.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/readme.txt: -------------------------------------------------------------------------------- 1 | docs: document 2 | 3 | src: code 4 | 5 | Note: 6 | the code just provide for MTK xx82 platform 7 | 8 | android 5.0: 9 | add #include <../fs/proc/internal.h> 10 | gesture: 11 | when gesture function need be complied, please put 32 or 64 bit ft_gesture_lib.a_shipped in the src folder 12 | esd: 13 | set "A3_REG_VALUE" value for diff ic 14 | 15 | 16 | log: 17 | version: 1.0 18 | 19 | version: 2.1 20 | add driver version 21 | version: 2.2 22 | add 5826 ic and auto upgrade 23 | version: 2.3 24 | modify auto upgrade 0xa6 25 | version: 2.4 26 | modify i2c_smbus_read/write_i2c_block_data,delete i2c_master_send() in fts_i2c_Write() 27 | version: 2.4 28 | add ic type in doc 29 | version: 2.5 30 | modify input_set_abs_params in tpd_local_init 31 | delete input_mt_init_slots(tpd->dev, MT_MAX_TOUCH_POINTS); 32 | modify i2c_register_board_info(IIC_PORT, &fts_i2c_tpd, 1); 33 | version: 2.6 34 | modify reset low -> power -> reset high 35 | 36 | interrupt,resume add: 37 | #ifdef GTP_ESD_PROTECT 38 | count_irq ++; 39 | #endif 40 | modify A3_REG_VALUE, fts_write_reg(i2c_client, 0x8F,data); 41 | version: 2.7 42 | #include <../fs/proc/internal.h> for android 5.0 43 | add i2c_transfer style for read/write i2c 44 | 45 | protect report press and area are 0 46 | 47 | modify para in fts_write_reg 48 | 49 | add i2c ecc address:0xcc for 5x46 upgrade 50 | version 3.0 51 | new structure 52 | 53 | add uppoint++ in reprot functiion and solve the final finger report missing issue 54 | 55 | //release all touches in final 56 | version 3.1 57 | modify DMA=128 -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/32bit/ft_gesture_lib.a_shipped: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/32bit/ft_gesture_lib.a_shipped -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/64bit/ft_gesture_lib.a_shipped: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/64bit/ft_gesture_lib.a_shipped -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/Makefile: -------------------------------------------------------------------------------- 1 | include $(MTK_PATH_BUILD)/common.mk 2 | path := $(if $(filter yes,$(KBUILD_OUTPUT_SUPPORT)),$(srctree)/$(obj),$(obj)) 3 | obj-y := $(patsubst %.c,%.o,$(subst $(path)/,,$(call wildcard2,$(path)/*.c))) 4 | obj-y += ft_gesture_lib.a -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/focaltech_ctl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/focaltech_ctl.c -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/ft_gesture_lib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/All_Drv_MTK_V3.1_20150504_Release/src/ft_gesture_lib.h -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/Arduino-FT6336U-master/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | 34 | # VS Code Setting 35 | .vscode/ 36 | 37 | # Build Folder 38 | build/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/Arduino-FT6336U-master/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 aselectroworks 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/Arduino-FT6336U-master/README.md: -------------------------------------------------------------------------------- 1 | # FT6336U Library 2 | FocalTech FT6336U (Self-Capacitive Touch Panel Controller) library for Arduino. 3 | 4 | ## License 5 | This code is released under the MIT License. Please see [LICENSE](https://github.com/aselectroworks/Arduino-FT6336U/blob/master/LICENSE) for the full text. -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/Arduino-FT6336U-master/example/ReadTouchParam/ReadTouchParam.ino: -------------------------------------------------------------------------------- 1 | #include "FT6336U.h" 2 | 3 | #define RST_N_PIN 4 4 | #define INT_N_PIN 5 5 | 6 | FT6336U ft6336u(RST_N_PIN, INT_N_PIN); 7 | 8 | void setup() { 9 | Serial.begin(115200); 10 | 11 | ft6336u.begin(); 12 | 13 | Serial.print("FT6336U Firmware Version: "); 14 | Serial.println(ft6336u.read_firmware_id()); 15 | Serial.print("FT6336U Device Mode: "); 16 | Serial.println(ft6336u.read_device_mode()); 17 | } 18 | 19 | void loop() { 20 | if(digitalRead(INT_N_PIN) != -1) { 21 | Serial.print("FT6336U TD Status: "); 22 | Serial.println(ft6336u.read_td_status()); 23 | Serial.print("FT6336U Touch Event/ID 1: ("); 24 | Serial.print(ft6336u.read_touch1_event()); Serial.print(" / "); Serial.print(ft6336u.read_touch1_id()); Serial.println(")"); 25 | Serial.print("FT6336U Touch Position 1: ("); 26 | Serial.print(ft6336u.read_touch1_x()); Serial.print(" , "); Serial.print(ft6336u.read_touch1_y()); Serial.println(")"); 27 | Serial.print("FT6336U Touch Weight/MISC 1: ("); 28 | Serial.print(ft6336u.read_touch1_weight()); Serial.print(" / "); Serial.print(ft6336u.read_touch1_misc()); Serial.println(")"); 29 | Serial.print("FT6336U Touch Event/ID 2: ("); 30 | Serial.print(ft6336u.read_touch2_event()); Serial.print(" / "); Serial.print(ft6336u.read_touch2_id()); Serial.println(")"); 31 | Serial.print("FT6336U Touch Position 2: ("); 32 | Serial.print(ft6336u.read_touch2_x()); Serial.print(" , "); Serial.print(ft6336u.read_touch2_y()); Serial.println(")"); 33 | Serial.print("FT6336U Touch Weight/MISC 2: ("); 34 | Serial.print(ft6336u.read_touch2_weight()); Serial.print(" / "); Serial.print(ft6336u.read_touch2_misc()); Serial.println(")"); 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/Arduino-FT6336U-master/example/ScanMultiTouch/ScanMultiTouch.ino: -------------------------------------------------------------------------------- 1 | #include "FT6336U.h" 2 | #include 3 | 4 | #define I2C_SDA 22 5 | #define I2C_SCL 23 6 | #define RST_N_PIN 21 7 | #define INT_N_PIN 34 8 | 9 | FT6336U ft6336u(I2C_SDA, I2C_SCL, RST_N_PIN, INT_N_PIN); 10 | 11 | void setup() { 12 | Serial.begin(115200); 13 | 14 | ft6336u.begin(); 15 | 16 | // ft6336u.write_device_mode(factory_mode); 17 | Serial.print("FT6336U Device Mode: "); 18 | Serial.println(ft6336u.read_device_mode()); 19 | Serial.print("FT6336U Threshold: 0x"); 20 | Serial.println(ft6336u.read_touch_threshold(), HEX); 21 | Serial.print("FT6336U Filter Coefficient: 0x"); 22 | Serial.println(ft6336u.read_filter_coefficient(), HEX); 23 | Serial.print("FT6336U Control Mode: 0x"); 24 | Serial.println(ft6336u.read_ctrl_mode(), HEX); 25 | Serial.print("FT6336U Time Period for enter to Monitor Mode: 0x"); 26 | Serial.println(ft6336u.read_time_period_enter_monitor(), HEX); 27 | Serial.print("FT6336U Active Rate: 0x"); 28 | Serial.println(ft6336u.read_active_rate(), HEX); 29 | Serial.print("FT6336U Monitor Rate: 0x"); 30 | Serial.println(ft6336u.read_monitor_rate(), HEX); 31 | 32 | Serial.print("FT6336U LIB Ver: 0x"); 33 | Serial.println(ft6336u.read_library_version(), HEX); 34 | Serial.print("FT6336U Chip ID: 0x"); 35 | Serial.println(ft6336u.read_chip_id(), HEX); 36 | Serial.print("FT6336U G Mode: 0x"); 37 | Serial.println(ft6336u.read_g_mode(), HEX); 38 | Serial.print("FT6336U POWER Mode: 0x"); 39 | Serial.println(ft6336u.read_pwrmode(), HEX); 40 | Serial.print("FT6336U Firm ID: 0x"); 41 | Serial.println(ft6336u.read_firmware_id(), HEX); 42 | Serial.print("FT6336U Focal Tehc ID: 0x"); 43 | Serial.println(ft6336u.read_focaltech_id(), HEX); 44 | Serial.print("FT6336U Release Code ID: 0x"); 45 | Serial.println(ft6336u.read_release_code_id(), HEX); 46 | Serial.print("FT6336U State: 0x"); 47 | Serial.println(ft6336u.read_state(), HEX); 48 | 49 | } 50 | 51 | FT6336U_TouchPointType tp; 52 | void loop() { 53 | tp = ft6336u.scan(); 54 | char tempString[128]; 55 | sprintf(tempString, "FT6336U TD Count %d / TD1 (%d, %4d, %4d) / TD2 (%d, %4d, %4d)\r", tp.touch_count, tp.tp[0].status, tp.tp[0].x, tp.tp[0].y, tp.tp[1].status, tp.tp[1].x, tp.tp[1].y); 56 | Serial.print(tempString); 57 | } 58 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/Arduino-FT6336U-master/library.properties: -------------------------------------------------------------------------------- 1 | name=FT6336U CTP Controller 2 | version=1.0.0 3 | author=Atsushi Sasaki 4 | maintainer=Atsushi Sasaki 5 | sentence=Arduino FT6336U CTP Controller library 6 | paragraph=Arduino FT6336U CTP Controller library 7 | category=Sensors 8 | url= 9 | architectures=* 10 | includes=FT6336U.h -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/D-FT6336G-DataSheet-V1.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/D-FT6336G-DataSheet-V1.0.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/FT5206通讯协议说明.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/FT5206通讯协议说明.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/Ft6336GU_Firmware 外部寄存器_20151112.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/Ft6336GU_Firmware 外部寄存器_20151112.xlsx -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/IC_寄存器_AN_CTPM_Standard.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/IC_寄存器_AN_CTPM_Standard.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/spiST7789/1.54Inch 240X240 IPS SPI AML015410 V1-Shenzhen Amelin Electronic Technology Co. Ltd. .pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/spiST7789/1.54Inch 240X240 IPS SPI AML015410 V1-Shenzhen Amelin Electronic Technology Co. Ltd. .pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/spiST7789/ST7789V_SPEC_V1.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/spiST7789/ST7789V_SPEC_V1.0.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/spiST7789/初始化代码ST7789_BOE1.54 updata.INI: -------------------------------------------------------------------------------- 1 | HW_Reset(); 2 | 3 | Delay(120); //ms 4 | 5 | Write(Command , 0x11); 6 | 7 | Delay(120); //ms 8 | 9 | Write(Command , 0x36); 10 | Write(Parameter , 0x00); 11 | 12 | Write(Command , 0x3A); 13 | Write(Parameter , 0x06); 14 | 15 | Write(Command , 0xB2); 16 | Write(Parameter , 0x0C); 17 | Write(Parameter , 0x0C); 18 | Write(Parameter , 0x00); 19 | Write(Parameter , 0x33); 20 | Write(Parameter , 0x33); 21 | 22 | Write(Command , 0xBB); //VCOM 23 | Write(Parameter , 0x1A); 24 | 25 | Write(Command , 0xC0); 26 | Write(Parameter , 0x2C); 27 | 28 | Write(Command , 0xC2); 29 | Write(Parameter , 0x01); 30 | 31 | Write(Command , 0xC3); //GVDD 32 | Write(Parameter , 0x0F); //4.3V 33 | 34 | Write(Command , 0xC4); 35 | Write(Parameter , 0x20); 36 | 37 | Write(Command , 0xC6); 38 | Write(Parameter , 0x0F); //Dot INV, 60Hz 39 | 40 | Write(Command , 0xD0); 41 | Write(Parameter , 0xA4); 42 | Write(Parameter , 0xA1); 43 | 44 | Write(Command , 0xE0); 45 | Write(Parameter , 0xD0); 46 | Write(Parameter , 0x13); 47 | Write(Parameter , 0x1A); 48 | Write(Parameter , 0x0A); 49 | Write(Parameter , 0x0A); 50 | Write(Parameter , 0x26); 51 | Write(Parameter , 0x3F); 52 | Write(Parameter , 0x54); 53 | Write(Parameter , 0x54); 54 | Write(Parameter , 0x18); 55 | Write(Parameter , 0x14); 56 | Write(Parameter , 0x14); 57 | Write(Parameter , 0x30); 58 | Write(Parameter , 0x33); 59 | 60 | Write(Command , 0xE1); 61 | Write(Parameter , 0xD0); 62 | Write(Parameter , 0x13); 63 | Write(Parameter , 0x1A); 64 | Write(Parameter , 0x0A); 65 | Write(Parameter , 0x0A); 66 | Write(Parameter , 0x26); 67 | Write(Parameter , 0x3F); 68 | Write(Parameter , 0x54); 69 | Write(Parameter , 0x54); 70 | Write(Parameter , 0x1A); 71 | Write(Parameter , 0x16); 72 | Write(Parameter , 0x16); 73 | Write(Parameter , 0x32); 74 | Write(Parameter , 0x35); 75 | 76 | //Write(Command , 0xE7); 77 | //Write(Parameter , 0x00); //10-2DATA 00-1DATA 78 | 79 | Write(Command , 0x29); 80 | 81 | Delay(120); //ms 82 | 83 | Write(Command , 0x21); 84 | 85 | Write(Command ,0x2a); //Column Address Set 86 | Write(Parameter ,0x00); 87 | Write(Parameter ,0x00); //0 88 | Write(Parameter ,0x00); 89 | Write(Parameter ,0xEF); //239 90 | 91 | Write(Command ,0x2b); //Row Address Set 92 | Write(Parameter ,0x00); 93 | Write(Parameter ,0x00); //0 94 | Write(Parameter ,0x00); 95 | Write(Parameter ,0xEF); //239 96 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/中景园ZJY154S0800TG01技术资料/01-规格书与控制芯片手册.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/中景园ZJY154S0800TG01技术资料/01-规格书与控制芯片手册.zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/中景园ZJY154S0800TG01技术资料/02-1.54IPS程序源码.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/中景园ZJY154S0800TG01技术资料/02-1.54IPS程序源码.zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/中景园ZJY154S0800TG01技术资料/03-LCD取模教程.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/中景园ZJY154S0800TG01技术资料/03-LCD取模教程.zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/中景园ZJY154S0800TG01技术资料/04-示例图片.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/中景园ZJY154S0800TG01技术资料/04-示例图片.zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/深圳市阿美林电子 1.54寸FRD154H2501调试资料/1.54inch 240X240 IPS RGB-6BIT AML-FRD154H2501 Shenzhen Amelin Electronic Technology Co. Ltd.PDF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/深圳市阿美林电子 1.54寸FRD154H2501调试资料/1.54inch 240X240 IPS RGB-6BIT AML-FRD154H2501 Shenzhen Amelin Electronic Technology Co. Ltd.PDF -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/深圳市阿美林电子 1.54寸FRD154H2501调试资料/154HSD_RGB6bit__ init.txt: -------------------------------------------------------------------------------- 1 | //ST7789H2 2 | 3 | 4 | RST=1; 5 | Delayms(1); 6 | 7 | RST=0; 8 | Delayms(10); 9 | 10 | RST=1; 11 | Delayms(120); 12 | 13 | 14 | ///********************************** 15 | SPI_WriteComm(0xB0); 16 | SPI_WriteData(0x11); 17 | SPI_WriteData(0xc4); 18 | 19 | SPI_WriteComm(0xB1); 20 | SPI_WriteData(0xc0); //c0 21 | 22 | SPI_WriteComm(0x3A); 23 | SPI_WriteData(0x66); 24 | 25 | SPI_WriteComm(0xB2); 26 | SPI_WriteData(0x0C); //porch setting 27 | SPI_WriteData(0x0C); 28 | SPI_WriteData(0x00); 29 | SPI_WriteData(0x33); 30 | SPI_WriteData(0x33); 31 | 32 | SPI_WriteComm(0xB7); 33 | SPI_WriteData(0x64); //VGH&VGL,15V&-10V 34 | SPI_WriteComm(0xBB); 35 | SPI_WriteData(0x28); //VCOM 36 | 37 | SPI_WriteComm(0xC2); 38 | SPI_WriteData(0x01); 39 | 40 | SPI_WriteComm(0xC3); 41 | SPI_WriteData(0x20); //GVDD,5.1V //1f 42 | 43 | SPI_WriteComm(0xC4); 44 | SPI_WriteData(0x20); //VDV,0V 45 | SPI_WriteComm(0xD0); 46 | SPI_WriteData(0xA4); 47 | SPI_WriteData(0xA2); //AVDD&AVCL,6.8v&-4.8v 48 | 49 | SPI_WriteComm(0xD2); 50 | SPI_WriteData(0x4C); 51 | 52 | SPI_WriteComm(0xE8); 53 | SPI_WriteData(0x83); //Booster CLK Select 54 | 55 | SPI_WriteComm(0xE9); 56 | SPI_WriteData(0x09); //EQ 57 | SPI_WriteData(0x09); 58 | SPI_WriteData(0x08); 59 | SPI_WriteComm(0x36); 60 | SPI_WriteData(0x00); //ACCESS 61 | SPI_WriteComm(0x35); 62 | SPI_WriteData(0x00); //TE 63 | 64 | 65 | SPI_WriteComm(0xC6); 66 | SPI_WriteData(0xEF); //0x09orig [DB7-5] 0forDotInv,1forColumnInv; 67 | 68 | SPI_WriteComm(0xE0); 69 | SPI_WriteData(0xD0); //V0[7-4] & V63[3-0] 70 | SPI_WriteData(0x0B); //V62[5-0] 71 | SPI_WriteData(0x11); //V61[5-0] 72 | SPI_WriteData(0x0B); //V59[4-0] 73 | SPI_WriteData(0x0A); //V57[4-0] 74 | SPI_WriteData(0x26); //J1[5-4] & V50[3-0] 75 | SPI_WriteData(0x36); //V43[6-0] 76 | SPI_WriteData(0x44); //V27[6-4] & V36[2-0] 77 | SPI_WriteData(0x4B); //V20[6-0] 78 | SPI_WriteData(0x38); //J0[5-4] & V13[3-0] 79 | SPI_WriteData(0x14); //V6[4-0] 80 | SPI_WriteData(0x14); //V4[4-0] 81 | SPI_WriteData(0x2A); //V2[5-0] 82 | SPI_WriteData(0x30); //V1[5-0] 83 | 84 | SPI_WriteComm(0xE1); 85 | SPI_WriteData(0xD0); //V0[7-4] & V63[3-0] 86 | SPI_WriteData(0x0B); //V62[5-0] 87 | SPI_WriteData(0x11); //V61[5-0] 88 | SPI_WriteData(0x0B); //V59[4-0] 89 | SPI_WriteData(0x0A); //V57[4-0] 90 | SPI_WriteData(0x26); //J1[5-4] & V50[3-0] 91 | SPI_WriteData(0x35); //V43[6-0] 92 | SPI_WriteData(0x43); //V27[6-4] & V36[2-0] 93 | SPI_WriteData(0x4A); //V20[6-0] 94 | SPI_WriteData(0x38); //J0[5-4] & V13[3-0] 95 | SPI_WriteData(0x14); //V6[4-0] 96 | SPI_WriteData(0x14); //V4[4-0] 97 | SPI_WriteData(0x2A); //V2[5-0] 98 | SPI_WriteData(0x30); //V1[5-0] 99 | 100 | SPI_WriteComm(0x21); 101 | 102 | SPI_WriteComm(0x11); 103 | Delay(120); 104 | SPI_WriteComm(0x29); 105 | 106 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/深圳市阿美林电子 1.54寸FRD154H2501调试资料/ST7789V_SPEC_V1.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/深圳市阿美林电子 1.54寸FRD154H2501调试资料/ST7789V_SPEC_V1.0.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/All_Drv_MTK_V3.1_20150504_Release.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/All_Drv_MTK_V3.1_20150504_Release.zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/D-FT6336G-DataSheet-V1.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/D-FT6336G-DataSheet-V1.0.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/FT5206通讯协议说明.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/FT5206通讯协议说明.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/Ft6336GU_Firmware 外部寄存器_20151112.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/Ft6336GU_Firmware 外部寄存器_20151112.xlsx -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/IC_寄存器_AN_CTPM_Standard.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包 1.54 inch CTP AML-016YGF6502A2 Shenzhen Amelin Electronic Technology .,LTD/IC_寄存器_AN_CTPM_Standard.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包1.54Inch 240X240 IPS MCU 8BIT AML-FRD15424IPS-C Shenzhen Amelin Electronic Technology Co., Ltd/1.54Inch 240X240IPS MCU 8BIT AML-FRD15424IPS-C.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包1.54Inch 240X240 IPS MCU 8BIT AML-FRD15424IPS-C Shenzhen Amelin Electronic Technology Co., Ltd/1.54Inch 240X240IPS MCU 8BIT AML-FRD15424IPS-C.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包1.54Inch 240X240 IPS MCU 8BIT AML-FRD15424IPS-C Shenzhen Amelin Electronic Technology Co., Ltd/BOE 1.54 ips 初始化代码.txt: -------------------------------------------------------------------------------- 1 | 2 | RST=1; 3 | Delay(200); 4 | 5 | RST=0; 6 | Delay(800); 7 | 8 | RST=1; 9 | Delay(800); 10 | 11 | //---------------------------------------------------------------------------------------------------// 12 | WriteComm(0x11); 13 | Delay(120); //Delay 120ms 14 | //--------------------------------------Display Setting------------------------------------------// 15 | WriteComm(0x36); 16 | WriteData(0x00); 17 | WriteComm(0x3a); 18 | WriteData(0x55); 19 | WriteComm(0x21); 20 | WriteComm(0x2a); 21 | WriteData(0x00); 22 | WriteData(0x00); 23 | WriteData(0x00); 24 | WriteData(0xef); 25 | WriteComm(0x2b); 26 | WriteData(0x00); 27 | WriteData(0x00); 28 | WriteData(0x00); 29 | WriteData(0xef); 30 | //--------------------------------ST7789V Frame rate setting----------------------------------// 31 | WriteComm(0xb2); 32 | WriteData(0x0c); 33 | WriteData(0x0c); 34 | WriteData(0x00); 35 | WriteData(0x33); 36 | WriteData(0x33); 37 | WriteComm(0xb7); 38 | WriteData(0x35); 39 | //---------------------------------ST7789V Power setting--------------------------------------// 40 | WriteComm(0xbb); 41 | WriteData(0x1f); 42 | WriteComm(0xc0); 43 | WriteData(0x2c); 44 | WriteComm(0xc2); 45 | WriteData(0x01); 46 | WriteComm(0xc3); 47 | WriteData(0x12); 48 | WriteComm(0xc4); 49 | WriteData(0x20); 50 | WriteComm(0xc6); 51 | WriteData(0x0f); 52 | WriteComm(0xd0); 53 | WriteData(0xa4); 54 | WriteData(0xa1); 55 | //--------------------------------ST7789V gamma setting--------------------------------------// 56 | WriteComm(0xe0); 57 | WriteData(0xd0); 58 | WriteData(0x08); 59 | WriteData(0x11); 60 | WriteData(0x08); 61 | WriteData(0x0c); 62 | WriteData(0x15); 63 | WriteData(0x39); 64 | WriteData(0x33); 65 | WriteData(0x50); 66 | WriteData(0x36); 67 | WriteData(0x13); 68 | WriteData(0x14); 69 | WriteData(0x29); 70 | WriteData(0x2d); 71 | WriteComm(0xe1); 72 | WriteData(0xd0); 73 | WriteData(0x08); 74 | WriteData(0x10); 75 | WriteData(0x08); 76 | WriteData(0x06); 77 | WriteData(0x06); 78 | WriteData(0x39); 79 | WriteData(0x44); 80 | WriteData(0x51); 81 | WriteData(0x0b); 82 | WriteData(0x16); 83 | WriteData(0x14); 84 | WriteData(0x2f); 85 | WriteData(0x31); 86 | WriteComm(0x29); 87 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包1.54Inch 240X240 IPS MCU 8BIT AML-FRD15424IPS-C Shenzhen Amelin Electronic Technology Co., Ltd/ST7789V_SPEC_V1.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包1.54Inch 240X240 IPS MCU 8BIT AML-FRD15424IPS-C Shenzhen Amelin Electronic Technology Co., Ltd/ST7789V_SPEC_V1.0.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包1.54Inch 240X240 IPS MCU 8BIT AML-FRD15424IPS-C Shenzhen Amelin Electronic Technology Co., Ltd/测试架点亮例程 1.54 inch 240X240 IPS MCU-8BIT AML-FRD15424IPS-D.TXT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/1.54inch_screen/调试资料包1.54Inch 240X240 IPS MCU 8BIT AML-FRD15424IPS-C Shenzhen Amelin Electronic Technology Co., Ltd/测试架点亮例程 1.54 inch 240X240 IPS MCU-8BIT AML-FRD15424IPS-D.TXT -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/AT32F403/DS_AT32F403_V1.05.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/AT32F403/DS_AT32F403_V1.05.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/AT32F403/RM_AT32F403_V1.01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/AT32F403/RM_AT32F403_V1.01.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/BMP280.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/BMP280.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/BSS135K_datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/BSS135K_datasheet.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/CSNP4GCR01-AMW(V1.1).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/CSNP4GCR01-AMW(V1.1).pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/UM1064.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/UM1064.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0.zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/.vs/Unico_Lite/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/.vs/Unico_Lite/v16/.suo -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2036 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Unico_Lite", "Unico_Lite\Unico_Lite.csproj", "{F6E90B5B-DDBF-4BF4-B40C-087D5DAE6B28}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {F6E90B5B-DDBF-4BF4-B40C-087D5DAE6B28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {F6E90B5B-DDBF-4BF4-B40C-087D5DAE6B28}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {F6E90B5B-DDBF-4BF4-B40C-087D5DAE6B28}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {F6E90B5B-DDBF-4BF4-B40C-087D5DAE6B28}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {371D3D17-083F-4347-847B-FD2A2FD804B4} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite.suo -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | 6 | namespace Unico_Lite 7 | { 8 | static class Program 9 | { 10 | /// 11 | /// The main entry point for the application. 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new Form1()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("Unico_Lite")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("STMicroelectronics")] 11 | [assembly: AssemblyProduct("Unico_Lite")] 12 | [assembly: AssemblyCopyright("Copyright © STMicroelectronics 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("b2fad026-079b-43c9-8f8c-a15dfea18bf3")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("3.0.0.0")] 35 | [assembly: AssemblyFileVersion("3.0.0.0")] 36 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Unico_Lite.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Unico_Lite.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Looks up a localized resource of type System.Drawing.Bitmap. 65 | /// 66 | internal static System.Drawing.Bitmap com_refresh_icon { 67 | get { 68 | object obj = ResourceManager.GetObject("com_refresh_icon", resourceCulture); 69 | return ((System.Drawing.Bitmap)(obj)); 70 | } 71 | } 72 | 73 | /// 74 | /// Looks up a localized resource of type System.Drawing.Bitmap. 75 | /// 76 | internal static System.Drawing.Bitmap ST_LifeAugmented { 77 | get { 78 | object obj = ResourceManager.GetObject("ST_LifeAugmented", resourceCulture); 79 | return ((System.Drawing.Bitmap)(obj)); 80 | } 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Unico_Lite.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.6.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/ST_Ek_01.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/ST_Ek_01.ico -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/ST_LifeAugmented.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/ST_LifeAugmented.png -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/Unico_Lite.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | en-US 11 | false 12 | 13 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/bin/Release/Unico_Lite.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/bin/Release/Unico_Lite.exe -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/bin/Release/Unico_Lite.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/bin/Release/Unico_Lite.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/bin/Release/Unico_Lite.pdb -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/com_refresh_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/com_refresh_icon.png -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.Form1.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.Form1.resources -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.Properties.Resources.resources -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | b3203f81b1432a8ac4e36e2f1d6ca55bfb2a43b3 2 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\bin\Release\Unico_Lite.exe.config 2 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\bin\Release\Unico_Lite.exe 3 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\bin\Release\Unico_Lite.pdb 4 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\obj\Release\Unico_Lite.csprojAssemblyReference.cache 5 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\obj\Release\Unico_Lite.Form1.resources 6 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\obj\Release\Unico_Lite.Properties.Resources.resources 7 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\obj\Release\Unico_Lite.csproj.GenerateResource.cache 8 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\obj\Release\Unico_Lite.csproj.CoreCompileInputs.cache 9 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\obj\Release\Unico_Lite.exe 10 | D:\PCB\WatchX2\WatchX2\WatchX2_PCBProject\DataSheet\LIS2DS12\Unico_Lite_v3.0.0.0\Unico_Lite\obj\Release\Unico_Lite.pdb 11 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.exe -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/Unico_Lite_v3.0.0.0/Unico_Lite/obj/Release/Unico_Lite.pdb -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/dm00218428-lis2ds12-alwayson-3d-accelerometer-stmicroelectronics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/dm00218428-lis2ds12-alwayson-3d-accelerometer-stmicroelectronics.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/lis2ds12.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/lis2ds12.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/AIS328DQ_Driver__Example/tag/ver1.1_22-03-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/AIS328DQ_Driver__Example/tag/ver1.1_22-03-2016/main_AIS328DQ_example.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : main_AIS328DQ_example.c 3 | * Author : MEMS Application Team 4 | * Version : v1.1 5 | * Date : 22 Mar 2016 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2C_mems.h" 24 | #include "AIS328DQ_ACC_driver.h" 25 | 26 | /* Private typedef -----------------------------------------------------------*/ 27 | 28 | /* Private define ------------------------------------------------------------*/ 29 | #define SENSITIVITY_4G 1.95/1000 /* G/LSB */ 30 | #define CONVERSION SENSITIVITY_4G/16 /* sensor provides 12 bit samples left-aligned*/ 31 | 32 | /* Private macro -------------------------------------------------------------*/ 33 | 34 | /* Private variables ---------------------------------------------------------*/ 35 | AIS328DQ_ACC_ZYXDA_t value_XL; 36 | Type3Axis16bit_U Acceleration; 37 | float Acceleration_G[3]; 38 | 39 | status_t response; 40 | 41 | /* Extern variables ----------------------------------------------------------*/ 42 | /* Private function prototypes -----------------------------------------------*/ 43 | 44 | /* Private functions ---------------------------------------------------------*/ 45 | void init_AIS328DQ_ACC(void) 46 | { 47 | /* Acc ODR */ 48 | response = AIS328DQ_ACC_W_CTRL_REG1_ODR(0, AIS328DQ_ACC_DR_100HZ); 49 | if(response==MEMS_ERROR) while(1); //manage here comunication error 50 | 51 | /* Set Full Scale to 4G */ 52 | response = AIS328DQ_ACC_W_CTRL_REG4_FS(0, AIS328DQ_ACC_FS_4G); 53 | if(response==MEMS_ERROR) while(1); //manage here comunication error 54 | 55 | /* BDU Enable */ 56 | response = AIS328DQ_ACC_W_CTRL_REG4_BDU(0, AIS328DQ_ACC_BDU_ENABLE); 57 | if(response==MEMS_ERROR) while(1); //manage here comunication error 58 | 59 | /* Device Enable */ 60 | response = AIS328DQ_ACC_W_CTRL_REG1_PM(0, AIS328DQ_ACC_PM_NORMAL_MODE); 61 | if(response==MEMS_ERROR) while(1); //manage here comunication error 62 | } 63 | 64 | /******************************************************************************* 65 | * Function Name : main. 66 | * Description : Simple A3G4250D_GYRO Example. 67 | * Input : None. 68 | * Output : None. 69 | * Return : None. 70 | *******************************************************************************/ 71 | int main(void) 72 | { 73 | InitHardware(); 74 | I2C_MEMS_Init(); 75 | 76 | //configure device 77 | init_AIS328DQ_ACC(); 78 | 79 | //main loop 80 | while(1) 81 | { 82 | //Read GYRO output only if new gyro value is available 83 | response = AIS328DQ_ACC_R_STATUS_ZYXDA(0, &value_XL); 84 | if(response==MEMS_ERROR) while(1); //manage here comunication error 85 | 86 | if (AIS328DQ_ACC_ZYXDA_AVAIL==value_XL) 87 | { 88 | AIS328DQ_ACC_Get_Acceleration(0, Acceleration.u8bit); 89 | 90 | /* Transorm LSB into dps */ 91 | Acceleration_G[0]=Acceleration.i16bit[0]*CONVERSION; 92 | Acceleration_G[1]=Acceleration.i16bit[1]*CONVERSION; 93 | Acceleration_G[2]=Acceleration.i16bit[2]*CONVERSION; 94 | } 95 | 96 | } 97 | } // end main 98 | 99 | /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ 100 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/H3LIS331DL_Driver__Example/tag/ver1.1_26-02-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all board. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DE12_Driver_Example/tag/ver1.1_01-03-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DH12_Driver_Example/tag/ver2.2_18-04-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DS12_Driver__Example/tag/ver1.6_20170331/FreeFall.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : ReadDRDY.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 03 Mar 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Acc\LIS2DS12_Driver__Example\trunk\LIS2DS12_Driver\LIS2DS12_ACC_driver.h" 21 | #include "stm32f1xx_hal.h" 22 | 23 | /* Private macro -------------------------------------------------------------*/ 24 | #define FREE_FALL_DURATION 2 // ( 1 LSB = 1 TODR -> @ 50 Hz 20 ms) 25 | #define FREE_FALL_THRESHOLD 7 //LSB @ 2g in any case ( 0.061 mg/LSB ) 26 | /* Private variables ---------------------------------------------------------*/ 27 | static status_t response; 28 | static u8_t WhoAmI, rst, FreeFallStatus; 29 | 30 | /* Extern variables ----------------------------------------------------------*/ 31 | /* Private function prototypes -----------------------------------------------*/ 32 | 33 | /* Private functions ---------------------------------------------------------*/ 34 | 35 | /* Test Acquisition of sensor samples */ 36 | int example_main(void) 37 | { 38 | /* Check device ID */ 39 | response = LIS2DS12_ACC_ReadReg(0, LIS2DS12_ACC_WHO_AM_I_REG, &WhoAmI, 1); 40 | if(response==MEMS_ERROR) while(1); //manage here comunication error 41 | if ( WhoAmI != LIS2DS12_ACC_WHO_AM_I ) 42 | while(1); //manage here device not found 43 | 44 | /* Restore default configuration */ 45 | response = LIS2DS12_ACC_W_SOFT_RESET(0, LIS2DS12_ACC_SOFT_RESET_ON); 46 | if(response==MEMS_ERROR) while(1); //manage here comunication error 47 | do 48 | { 49 | response = LIS2DS12_ACC_R_SOFT_RESET(0, (LIS2DS12_ACC_SOFT_RESET_t*) &rst); 50 | if(response==MEMS_ERROR) while(1); //manage here comunication error 51 | } 52 | while (rst); 53 | 54 | /* Set ACC full scale @ 2g*/ 55 | response = LIS2DS12_ACC_W_FullScale(0, LIS2DS12_ACC_FS_4G); 56 | if(response==MEMS_ERROR) while(1); //manage here comunication error 57 | 58 | /* FreeFall Configuration */ 59 | /* Set FreeFall Duration */ 60 | response = LIS2DS12_ACC_W_FreeFallDuration(0, FREE_FALL_DURATION); 61 | if(response==MEMS_ERROR) while(1); //manage here comunication error 62 | 63 | /* Set FreeFall Threshold */ 64 | response = LIS2DS12_ACC_W_FreeFallThreshold(0, FREE_FALL_THRESHOLD); 65 | if(response==MEMS_ERROR) while(1); //manage here comunication error 66 | 67 | /* Enable FreeFall Interrupt pin */ 68 | response = LIS2DS12_ACC_W_INT1_FF(0, LIS2DS12_ACC_INT1_FF_ON); 69 | if(response==MEMS_ERROR) while(1); //manage here comunication error 70 | 71 | /* PIN Configuration */ 72 | /* Select interrupt pin polarity */ 73 | response = LIS2DS12_ACC_W_H_LACTIVE(0, LIS2DS12_ACC_H_LACTIVE_high); 74 | if(response==MEMS_ERROR) while(1); //manage here comunication error 75 | 76 | /* Set INT notification mode */ 77 | response = LIS2DS12_ACC_W_LIR(0, LIS2DS12_ACC_LIR_OFF); 78 | if(response==MEMS_ERROR) while(1); //manage here comunication error 79 | 80 | /* Powre on axl */ 81 | /* Set ACC ODR HR_14bit 100Hz*/ 82 | response = LIS2DS12_ACC_W_ODR(0, LIS2DS12_ACC_ODR_HR_50Hz); 83 | if(response==MEMS_ERROR) while(1); //manage here comunication error 84 | 85 | /* 86 | * Read samples 87 | */ 88 | while(1) 89 | { 90 | //Polling on int pin driven by FF interrupt signal 91 | if ( HAL_GPIO_ReadPin( INT1_GPIO_Port, INT1_Pin ) ) 92 | { 93 | LIS2DS12_ACC_R_FF_IA_DUP2( 0, (LIS2DS12_ACC_FF_IA_DUP2_t*) &FreeFallStatus ); 94 | } 95 | } 96 | } 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DS12_Driver__Example/tag/ver1.6_20170331/ReadDRDY.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : ReadDRDY.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 03 Mar 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Acc\LIS2DS12_Driver__Example\trunk\LIS2DS12_Driver\LIS2DS12_ACC_driver.h" 21 | #include "stm32f1xx_hal.h" 22 | 23 | /* Private macro -------------------------------------------------------------*/ 24 | 25 | /* Private variables ---------------------------------------------------------*/ 26 | static status_t response; 27 | static Type3Axis16bit_U Acceleration; 28 | static u8_t WhoAmI, rst; 29 | 30 | /* Extern variables ----------------------------------------------------------*/ 31 | /* Private function prototypes -----------------------------------------------*/ 32 | 33 | /* Private functions ---------------------------------------------------------*/ 34 | 35 | /* Test Acquisition of sensor samples */ 36 | int example_main(void) 37 | { 38 | /* Check device ID */ 39 | response = LIS2DS12_ACC_ReadReg(0, LIS2DS12_ACC_WHO_AM_I_REG, &WhoAmI, 1); 40 | if(response==MEMS_ERROR) while(1); //manage here comunication error 41 | if ( WhoAmI != LIS2DS12_ACC_WHO_AM_I ) 42 | while(1); //manage here device not found 43 | 44 | /* Restore default configuration */ 45 | response = LIS2DS12_ACC_W_SOFT_RESET(0, LIS2DS12_ACC_SOFT_RESET_ON); 46 | if(response==MEMS_ERROR) while(1); //manage here comunication error 47 | do 48 | { 49 | response = LIS2DS12_ACC_R_SOFT_RESET(0, (LIS2DS12_ACC_SOFT_RESET_t*) &rst); 50 | if(response==MEMS_ERROR) while(1); //manage here comunication error 51 | } 52 | while (rst); 53 | 54 | /* Select interrupt pin */ 55 | response = LIS2DS12_ACC_W_INT1_DRDY(0, LIS2DS12_ACC_INT1_DRDY_ON); 56 | //response = LIS2DS12_ACC_W_INT2_DRDY(0, LIS2DS12_ACC_INT2_DRDY_ON); 57 | if(response==MEMS_ERROR) while(1); //manage here comunication error 58 | 59 | /* Select interrupt pin polarity */ 60 | response = LIS2DS12_ACC_W_H_LACTIVE(0, LIS2DS12_ACC_H_LACTIVE_high); 61 | if(response==MEMS_ERROR) while(1); //manage here comunication error 62 | 63 | /* Set DRDY mode */ 64 | response = LIS2DS12_ACC_W_DRDY_PULSED(0, LIS2DS12_ACC_DRDY_PULSED_OFF); 65 | if(response==MEMS_ERROR) while(1); //manage here comunication error 66 | 67 | /* Set ACC full scale @ 2g*/ 68 | response = LIS2DS12_ACC_W_FullScale(0, LIS2DS12_ACC_FS_2G); 69 | if(response==MEMS_ERROR) while(1); //manage here comunication error 70 | 71 | /* BDU Enable */ 72 | response = LIS2DS12_ACC_W_BDU(0, LIS2DS12_ACC_BDU_ON); 73 | if(response==MEMS_ERROR) while(1); //manage here comunication error 74 | 75 | /* Set ACC ODR HR_14bit 100Hz*/ 76 | response = LIS2DS12_ACC_W_ODR(0, LIS2DS12_ACC_ODR_HR_50Hz); 77 | if(response==MEMS_ERROR) while(1); //manage here comunication error 78 | 79 | /* 80 | * Read samples 81 | */ 82 | while(1) 83 | { 84 | //Polling on int pin driven by DRDY signal 85 | if (HAL_GPIO_ReadPin(INT1_GPIO_Port, INT1_Pin)) 86 | //if (HAL_GPIO_ReadPin(INT2_GPIO_Port, INT2_Pin)) 87 | { 88 | LIS2DS12_ACC_Get_Acceleration(0, Acceleration.i16bit); 89 | } 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DS12_Driver__Example/tag/ver1.6_20170331/ReadData.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : ReadData.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 03 Mar 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Acc\LIS2DS12_Driver__Example\trunk\LIS2DS12_Driver\LIS2DS12_ACC_driver.h" 21 | 22 | /* Private macro -------------------------------------------------------------*/ 23 | 24 | /* Private variables ---------------------------------------------------------*/ 25 | static status_t response; 26 | static Type3Axis16bit_U Acceleration; 27 | static u8_t value_XL, WhoAmI, rst; 28 | 29 | /* Extern variables ----------------------------------------------------------*/ 30 | /* Private function prototypes -----------------------------------------------*/ 31 | 32 | /* Private functions ---------------------------------------------------------*/ 33 | 34 | /* Test Acquisition of sensor samples */ 35 | int example_main(void) 36 | { 37 | 38 | response = LIS2DS12_ACC_ReadReg(0, LIS2DS12_ACC_WHO_AM_I_REG, &WhoAmI, 1); 39 | if(response==MEMS_ERROR) while(1); //manage here comunication error 40 | 41 | if ( WhoAmI != LIS2DS12_ACC_WHO_AM_I ) 42 | while(1); //manage here device not found 43 | 44 | /* Restore default configuration */ 45 | response = LIS2DS12_ACC_W_SOFT_RESET(0, LIS2DS12_ACC_SOFT_RESET_ON); 46 | if(response==MEMS_ERROR) while(1); //manage here comunication error 47 | do 48 | { 49 | response = LIS2DS12_ACC_R_SOFT_RESET(0, (LIS2DS12_ACC_SOFT_RESET_t*) &rst); 50 | if(response==MEMS_ERROR) while(1); //manage here comunication error 51 | } 52 | while (rst); 53 | 54 | /* Set ACC full scale @ 2g*/ 55 | response = LIS2DS12_ACC_W_FullScale(0, LIS2DS12_ACC_FS_2G); 56 | if(response==MEMS_ERROR) while(1); //manage here comunication error 57 | 58 | /* BDU Enable */ 59 | response = LIS2DS12_ACC_W_BDU(0, LIS2DS12_ACC_BDU_ON); 60 | if(response==MEMS_ERROR) while(1); //manage here comunication error 61 | 62 | /* Set ACC ODR HR_14bit 100Hz*/ 63 | response = LIS2DS12_ACC_W_ODR(0, LIS2DS12_ACC_ODR_HR_14bit_200Hz); 64 | if(response==MEMS_ERROR) while(1); //manage here comunication error 65 | 66 | /* 67 | * Read samples in polling mode (no int) 68 | */ 69 | while(1) 70 | { 71 | /* 72 | * Read ACC output only if new ACC value is available 73 | */ 74 | response = LIS2DS12_ACC_R_DRDY(0, (LIS2DS12_ACC_DRDY_t*) &value_XL); 75 | if(response==MEMS_ERROR) while(1); //manage here comunication error 76 | if (LIS2DS12_ACC_DRDY_EV_ON == value_XL) 77 | { 78 | LIS2DS12_ACC_Get_Acceleration(0, Acceleration.i16bit); 79 | } 80 | } 81 | } 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DS12_Driver__Example/tag/ver1.6_20170331/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DS12_Driver__Example/tag/ver1.6_20170331/SigMotion.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : SigMotion.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 15 Mar 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Acc\LIS2DS12_Driver__Example\trunk\LIS2DS12_Driver\LIS2DS12_ACC_driver.h" 21 | #include "stm32f1xx_hal.h" 22 | 23 | /* Private macro -------------------------------------------------------------*/ 24 | #define DEBOUNCE_STEPS 7 // 1 LSb = 1 step ( max 7 step ) 25 | #define SIG_MOTION_MIN_STEPS 15 // 1 step 26 | #define RST_DEBOUNCE_TIME 13 // 1 LSb = 80 ms 27 | 28 | /* Private variables ---------------------------------------------------------*/ 29 | static status_t response; 30 | static u8_t WhoAmI, rst, sigMotion, dummy; 31 | 32 | /* Extern variables ----------------------------------------------------------*/ 33 | /* Private function prototypes -----------------------------------------------*/ 34 | 35 | /* Private functions ---------------------------------------------------------*/ 36 | 37 | /* Test Acquisition of sensor samples */ 38 | int example_main(void) 39 | { 40 | /* Check device ID */ 41 | response = LIS2DS12_ACC_ReadReg(0, LIS2DS12_ACC_WHO_AM_I_REG, &WhoAmI, 1); 42 | if(response==MEMS_ERROR) while(1); //manage here comunication error 43 | if ( WhoAmI != LIS2DS12_ACC_WHO_AM_I ) 44 | while(1); //manage here device not found 45 | 46 | /* Restore default configuration */ 47 | response = LIS2DS12_ACC_W_SOFT_RESET(0, LIS2DS12_ACC_SOFT_RESET_ON); 48 | if(response==MEMS_ERROR) while(1); //manage here comunication error 49 | do 50 | { 51 | response = LIS2DS12_ACC_R_SOFT_RESET(0, (LIS2DS12_ACC_SOFT_RESET_t*) &rst); 52 | if(response==MEMS_ERROR) while(1); //manage here comunication error 53 | } 54 | while (rst); 55 | 56 | /* Advanced pedometer configurations*/ 57 | /* Enable advanced configuration registers access */ 58 | LIS2DS12_ACC_W_FUNC_CFG(0, LIS2DS12_ACC_FUNC_CFG_EN); 59 | /* configure advanced function */ 60 | dummy = SIG_MOTION_MIN_STEPS; 61 | LIS2DS12_ACC_WriteReg(0, 0x34, &dummy, 1); //SM_THS 62 | /* DEBOUNCE_STEPS have to be < then SIG_MOTION_MIN_STEPS */ 63 | dummy = ((RST_DEBOUNCE_TIME & 0x1F) << 3) | (DEBOUNCE_STEPS & 0x07); 64 | LIS2DS12_ACC_WriteReg(0, 0x2B, &dummy, 1); //PEDO_DEB_REG 65 | 66 | /* Disable advanced configuration registers access */ 67 | LIS2DS12_ACC_ReadReg(0, 0x3F, &dummy, 1); //ADVANCED FUNC_CFG 68 | dummy &= ~0x10; 69 | LIS2DS12_ACC_WriteReg(0, 0x3F, &dummy, 1); //ADVANCED FUNC_CFG 70 | 71 | /* Basic pedometer configurations*/ 72 | /* Set ACC full scale @ 2g*/ 73 | response = LIS2DS12_ACC_W_FullScale(0, LIS2DS12_ACC_FS_2G); 74 | if(response==MEMS_ERROR) while(1); //manage here comunication error 75 | /* Enable Significant Motion */ 76 | LIS2DS12_ACC_W_SIGN_MOT_ON(0, LIS2DS12_ACC_SIGN_MOT_ON_ON); 77 | 78 | /* PIN Configuration */ 79 | /* Enable step detection on INT2 pin */ 80 | response = LIS2DS12_ACC_W_INT2_SIG_MOT(0, LIS2DS12_ACC_INT2_SIG_MOT_ON); 81 | if(response==MEMS_ERROR) while(1); //manage here comunication error 82 | /* Set INT notification mode */ 83 | response = LIS2DS12_ACC_W_LIR(0, LIS2DS12_ACC_LIR_ON); 84 | if(response==MEMS_ERROR) while(1); //manage here comunication error 85 | 86 | /* Powre on axl */ 87 | /* Set ACC ODR HR_14bit 100Hz (pedometer always work at 25Hz)*/ 88 | response = LIS2DS12_ACC_W_ODR(0, LIS2DS12_ACC_ODR_HR_14bit_100Hz); 89 | if(response==MEMS_ERROR) while(1); //manage here comunication error 90 | 91 | while(1) 92 | { 93 | /* Polling on int pin */ 94 | if (HAL_GPIO_ReadPin(INT2_GPIO_Port, INT2_Pin)) 95 | { 96 | /* Check for a step event */ 97 | LIS2DS12_ACC_R_SIG_MOT_DETECT(0, (LIS2DS12_ACC_SIG_MOT_DETECT_t*) &sigMotion); 98 | if ( sigMotion == LIS2DS12_ACC_SIG_MOT_DETECT_EV_ON) 99 | { 100 | /* Significant motion detected */ 101 | } 102 | } 103 | } 104 | } 105 | 106 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DS12_Driver__Example/tag/ver1.6_20170331/Tilt.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : Tilt.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 15 Mar 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Acc\LIS2DS12_Driver__Example\trunk\LIS2DS12_Driver\LIS2DS12_ACC_driver.h" 21 | #include "stm32f1xx_hal.h" 22 | 23 | /* Private macro -------------------------------------------------------------*/ 24 | 25 | /* Private variables ---------------------------------------------------------*/ 26 | static status_t response; 27 | static u8_t WhoAmI, rst, tiltDetect; 28 | 29 | /* Extern variables ----------------------------------------------------------*/ 30 | /* Private function prototypes -----------------------------------------------*/ 31 | 32 | /* Private functions ---------------------------------------------------------*/ 33 | 34 | /* Test Acquisition of sensor samples */ 35 | int example_main(void) 36 | { 37 | /* Check device ID */ 38 | response = LIS2DS12_ACC_ReadReg(0, LIS2DS12_ACC_WHO_AM_I_REG, &WhoAmI, 1); 39 | if(response==MEMS_ERROR) while(1); //manage here comunication error 40 | if ( WhoAmI != LIS2DS12_ACC_WHO_AM_I ) 41 | while(1); //manage here device not found 42 | 43 | /* Restore default configuration */ 44 | response = LIS2DS12_ACC_W_SOFT_RESET(0, LIS2DS12_ACC_SOFT_RESET_ON); 45 | if(response==MEMS_ERROR) while(1); //manage here comunication error 46 | do 47 | { 48 | response = LIS2DS12_ACC_R_SOFT_RESET(0, (LIS2DS12_ACC_SOFT_RESET_t*) &rst); 49 | if(response==MEMS_ERROR) while(1); //manage here comunication error 50 | } 51 | while (rst); 52 | 53 | /* Tilt Configuration */ 54 | /* Enable Tilt */ 55 | LIS2DS12_ACC_W_TILT_ON(0, LIS2DS12_ACC_TILT_ON_ON); 56 | /* Set ACC full scale @ 4g*/ 57 | response = LIS2DS12_ACC_W_FullScale(0, LIS2DS12_ACC_FS_4G); 58 | if(response==MEMS_ERROR) while(1); //manage here comunication error 59 | 60 | /* Set INT notification mode */ 61 | response = LIS2DS12_ACC_W_INT2_TILT(0, LIS2DS12_ACC_INT2_TILT_ON); 62 | if(response==MEMS_ERROR) while(1); //manage here comunication error 63 | response = LIS2DS12_ACC_W_LIR(0, LIS2DS12_ACC_LIR_OFF); 64 | if(response==MEMS_ERROR) while(1); //manage here comunication error 65 | 66 | /* Powre on axl */ 67 | /* Set ACC ODR HR_14bit 100Hz (pedometer always work at 25Hz)*/ 68 | response = LIS2DS12_ACC_W_ODR(0, LIS2DS12_ACC_ODR_HR_14bit_100Hz); 69 | if(response==MEMS_ERROR) while(1); //manage here comunication error 70 | 71 | while(1) 72 | { 73 | /* Polling on int pin */ 74 | if (HAL_GPIO_ReadPin(INT2_GPIO_Port, INT2_Pin)) 75 | { 76 | /* Check for a tilt event */ 77 | LIS2DS12_ACC_R_TILT_INT(0, (LIS2DS12_ACC_TILT_INT_t*) &tiltDetect); 78 | if ( tiltDetect == LIS2DS12_ACC_TILT_INT_EV_ON) 79 | { 80 | /* Tilt detected */ 81 | } 82 | } 83 | } 84 | } 85 | 86 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DS12_Driver__Example/tag/ver1.6_20170331/Wakeup.c: -------------------------------------------------------------------------------- 1 | * Test Wakeup */ 2 | static void Loop_Test_Wakeup(void) 3 | { 4 | LIS2DS12_ACC_WU_IA_DUP2_t WakeupStatus; 5 | 6 | /* Clear WU_IA event*/ 7 | LIS2DS12_ACC_R_WU_IA_DUP2(0, &WakeupStatus); 8 | 9 | /* configure wakeup */ 10 | #ifdef TEST_WITH_FTH_INTERRUPT 11 | /* register callback */ 12 | RegisterInterrupt(LIS2DS12_ACC_Wakeup_Callback); 13 | #endif 14 | 15 | /* Set ACC ODR HR_14bit 100Hz*/ 16 | response = LIS2DS12_ACC_W_ODR(0, LIS2DS12_ACC_ODR_HR_14bit_100Hz); 17 | if(response==MEMS_ERROR) while(1); //manage here comunication error 18 | 19 | /* Set Wakeup Event */ 20 | SetupWakeUpEvent(2, 0, 1); 21 | 22 | #ifdef TEST_WITH_FTH_INTERRUPT 23 | while(1) { 24 | /* Event will be handled in driver callback */ 25 | } 26 | #else 27 | /* 28 | * Handle the event using polling mode 29 | */ 30 | while(1) { 31 | LIS2DS12_ACC_R_WU_IA_DUP2(&WakeupStatus); 32 | if (WakeupStatus == LIS2DS12_ACC_WU_IA_DUP2_EV_ON) { 33 | /* handle event */ 34 | WakeupStatus = LIS2DS12_ACC_WU_IA_DUP2_EV_OFF; 35 | } 36 | } 37 | #endif 38 | } 39 | 40 | /* 41 | * Callback to handle the Wakeup event. 42 | * It must be registered to be called at interrupt time. 43 | */ 44 | static void LIS2DS12_ACC_Wakeup_Callback(u8_t intID) 45 | { 46 | LIS2DS12_ACC_WU_IA_DUP2_t WakeupStatus; 47 | 48 | LIS2DS12_ACC_R_WU_IA_DUP2(0, &WakeupStatus); 49 | if (WakeupStatus == LIS2DS12_ACC_WU_IA_DUP2_EV_ON) { 50 | LIS2DS12_ACC_wakeup_ev_num++; 51 | 52 | /* handle event */ 53 | WakeupStatus = LIS2DS12_ACC_WU_IA_DUP2_EV_OFF; 54 | } 55 | } -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DW12_Driver_Example/tag/ver1.1_20170511/FIFO_continuous.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : FIFO_continuous.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 07 June 2017 6 | * 7 | ******************************************************************************** 8 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | * 15 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 16 | *******************************************************************************/ 17 | 18 | /* Includes ------------------------------------------------------------------*/ 19 | #include "..\..\Acc\LIS2DW12_Driver_Example\trunk\LIS2DW12_Driver\LIS2DW12_ACC_driver.h" 20 | #include "stm32f1xx_hal.h" 21 | #include "usbd_cdc_if.h" 22 | 23 | /* Private typedef -----------------------------------------------------------*/ 24 | 25 | /* Private define ------------------------------------------------------------*/ 26 | #define SENSITIVITY_2g (0.244) /* mg */ 27 | #define SENSITIVITY_4g (0.488) /* mg */ 28 | #define SENSITIVITY_8g (0.976) /* mg */ 29 | #define SENSITIVITY_16g (1.952) /* mg */ 30 | #define SENSITIVITY_2g_LPM1 (0.976) /* mg */ 31 | #define SENSITIVITY_4g_LPM1 (1.952) /* mg */ 32 | #define SENSITIVITY_8g_LPM1 (3.904) /* mg */ 33 | #define SENSITIVITY_16g_LPM1 (7.808) /* mg */ 34 | 35 | #define FIFO_SAMPLE_THRESHOLD 15 /* sample */ 36 | 37 | /* Private macro -------------------------------------------------------------*/ 38 | 39 | /* Private variables ---------------------------------------------------------*/ 40 | static status_t response; 41 | static Type3Axis16bit_U Acceleration; 42 | static u8_t who_am_I; 43 | static i32_t Acceleration_mg[3]; 44 | static u8_t USBbuffer[1000]; 45 | 46 | /* Extern variables ----------------------------------------------------------*/ 47 | /* Private function prototypes -----------------------------------------------*/ 48 | /* Private functions ---------------------------------------------------------*/ 49 | 50 | /******************************************************************************* 51 | * Function Name : main. 52 | * Description : Simple LIS3MDL Example. 53 | * Input : None. 54 | * Output : None. 55 | * Return : None. 56 | *******************************************************************************/ 57 | 58 | int example_main(void) 59 | { 60 | /* check the device */ 61 | response = LIS2DW12_ACC_R_WhoAmI(0, &who_am_I); 62 | if(response==MEMS_ERROR) while(1); //manage here comunication error 63 | if(who_am_I!=LIS2DW12_ACC_WHO_AM_I) while(1); //manage here different who am I 64 | 65 | 66 | /* 67 | * configure LIS2DW12 device 68 | */ 69 | 70 | /* select FIFO mode */ 71 | LIS2DW12_ACC_W_FIFO_mode(0, LIS2DW12_ACC_FMODE_STREAM); 72 | /* set FIFO threshold */ 73 | LIS2DW12_ACC_W_FIFO_Threshold(0, FIFO_SAMPLE_THRESHOLD); 74 | 75 | /* Configure Power Mode */ 76 | LIS2DW12_ACC_W_ModeSelection(0, LIS2DW12_ACC_MODE_LOW_POWER_STD); 77 | LIS2DW12_ACC_W_LowPowerModeSelection(0, LIS2DW12_ACC_LP_MODE1_12bit); 78 | LIS2DW12_ACC_W_LowNoiseConfiguration(0, LIS2DW12_ACC_LOW_NOISE_ENABLE); 79 | 80 | /* Set Acc Full Scale */ 81 | LIS2DW12_ACC_W_FullScaleSelection(0, LIS2DW12_ACC_FS_2g); 82 | 83 | /* int 1 pin configuration */ 84 | LIS2DW12_ACC_W_PinFunction_INT1(0, LIS2DW12_ACC_INT1_MODE_FIFO_TRESHOLD); 85 | 86 | /* Set Acc Output Data Rate - Power on device*/ 87 | LIS2DW12_ACC_W_OutputDataRate(0, LIS2DW12_ACC_ODR_LP_50Hz_HP_50Hz); 88 | 89 | while(1) 90 | { 91 | /* check interrupt of FIFO Threshold */ 92 | if (HAL_GPIO_ReadPin(INT1_GPIO_Port, INT1_Pin)) 93 | { 94 | /* get data */ 95 | LIS2DW12_ACC_Get_Acceleration(0, Acceleration.u8bit); 96 | /* Transorm LSB into mg @ 12 bit resolution*/ 97 | Acceleration_mg[0]=(i32_t)((Acceleration.i16bit[0]>>4)*SENSITIVITY_2g_LPM1); 98 | Acceleration_mg[1]=(i32_t)((Acceleration.i16bit[1]>>4)*SENSITIVITY_2g_LPM1); 99 | Acceleration_mg[2]=(i32_t)((Acceleration.i16bit[2]>>4)*SENSITIVITY_2g_LPM1); 100 | /* Write data on communication port */ 101 | sprintf((char*)USBbuffer, "%6d\t%6d\t%6d\r\n", Acceleration_mg[0], Acceleration_mg[1], Acceleration_mg[2]); 102 | CDC_Transmit_FS( USBbuffer, strlen((char const*)USBbuffer) ); 103 | } 104 | } 105 | } // end main 106 | 107 | 108 | /******************* (C) COPYRIGHT 2017 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DW12_Driver_Example/tag/ver1.1_20170511/FreeFall.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : FreeFall.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 11 May 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Acc\LIS2DW12_Driver_Example\trunk\LIS2DW12_Driver\LIS2DW12_ACC_driver.h" 21 | #include "stm32f1xx_hal.h" 22 | #include "usbd_cdc_if.h" 23 | 24 | /* Private macro -------------------------------------------------------------*/ 25 | #define FREE_FALL_DURATION 2 // ( 1 LSB = 1 TODR -> @ 50 Hz 20 ms) 26 | #define FREE_FALL_THRESHOLD 7 //LSB @ 2g in any case ( 0.061 mg/LSB ) 27 | /* Private variables ---------------------------------------------------------*/ 28 | static status_t response; 29 | static u8_t WhoAmI, rst, FreeFallStatus; 30 | static uint8_t USBbuffer[1000]; 31 | 32 | /* Extern variables ----------------------------------------------------------*/ 33 | /* Private function prototypes -----------------------------------------------*/ 34 | 35 | /* Private functions ---------------------------------------------------------*/ 36 | 37 | /* Test Acquisition of sensor samples */ 38 | int example_main(void) 39 | { 40 | /* Check device ID */ 41 | response = LIS2DW12_ACC_R_WhoAmI(0, &WhoAmI); 42 | if(response==MEMS_ERROR) while(1); //manage here comunication error 43 | if ( WhoAmI != LIS2DW12_ACC_WHO_AM_I ) 44 | while(1); //manage here device not found 45 | 46 | /* Restore default configuration */ 47 | response = LIS2DW12_ACC_W_SoftReset(0, LIS2DW12_ACC_SOFT_RESET_ENABLE); 48 | if(response==MEMS_ERROR) while(1); //manage here comunication error 49 | do 50 | { 51 | response = LIS2DW12_ACC_R_SoftReset(0, (LIS2DW12_ACC_SOFT_RESET_t*) &rst); 52 | if(response==MEMS_ERROR) while(1); //manage here comunication error 53 | } 54 | while (rst); 55 | 56 | /* Set Acc Full Scale */ 57 | response = LIS2DW12_ACC_W_FullScaleSelection(0, LIS2DW12_ACC_FS_2g); 58 | if(response==MEMS_ERROR) while(1); //manage here comunication error 59 | 60 | /* Configure Power Mode */ 61 | response = LIS2DW12_ACC_W_ModeSelection(0, LIS2DW12_ACC_MODE_HIGH_PERFORMANCE); 62 | if(response==MEMS_ERROR) while(1); //manage here comunication error 63 | 64 | /* FreeFall Configuration */ 65 | /* Set FreeFall Duration */ 66 | response = LIS2DW12_ACC_W_FreeFallDuration(0, FREE_FALL_DURATION); 67 | if(response==MEMS_ERROR) while(1); //manage here comunication error 68 | 69 | /* Set FreeFall Threshold */ 70 | response = LIS2DW12_ACC_W_FreeFallThreshold(0, FREE_FALL_THRESHOLD); 71 | if(response==MEMS_ERROR) while(1); //manage here comunication error 72 | 73 | /* Enable FreeFall Interrupt pin */ 74 | response = LIS2DW12_ACC_W_PinFunction_INT1(0, LIS2DW12_ACC_INT1_MODE_FREE_FALL); 75 | if(response==MEMS_ERROR) while(1); //manage here comunication error 76 | 77 | /* PIN Configuration */ 78 | /* Enable INT signals on PIN */ 79 | response = LIS2DW12_ACC_W_HardwarePin(0, LIS2DW12_ACC_INTERRUPTS_ENABLE_ENABLE); 80 | if(response==MEMS_ERROR) while(1); //manage here comunication error 81 | 82 | /* Set INT notification mode */ 83 | response = LIS2DW12_ACC_W_LatchIntteruptRq(0, LIS2DW12_ACC_LIR_DISABLE); 84 | if(response==MEMS_ERROR) while(1); //manage here comunication error 85 | 86 | /* Powre on axl */ 87 | /* Set ACC ODR HR_14bit 50Hz*/ 88 | response = LIS2DW12_ACC_W_OutputDataRate(0, LIS2DW12_ACC_ODR_LP_50Hz_HP_50Hz); 89 | if(response==MEMS_ERROR) while(1); //manage here comunication error 90 | 91 | /* 92 | * Read samples 93 | */ 94 | while(1) 95 | { 96 | //Polling on int pin driven by FF interrupt signal 97 | if ( HAL_GPIO_ReadPin( INT1_GPIO_Port, INT1_Pin ) ) 98 | { 99 | LIS2DW12_ACC_R_GetStatus( 0, (LIS2DW12_ACC_STATUS_t*) &FreeFallStatus ); 100 | if (FreeFallStatus & LIS2DW12_ACC_FF_IA_DETECTED) 101 | { 102 | sprintf((char*)USBbuffer, "Free Fall Detect !\r\n"); 103 | CDC_Transmit_FS( USBbuffer, strlen((char const*)USBbuffer) ); 104 | } 105 | 106 | } 107 | } 108 | } 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DW12_Driver_Example/tag/ver1.1_20170511/ReadDRDY.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : ReadDRDY.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 11 May 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Acc\LIS2DW12_Driver_Example\trunk\LIS2DW12_Driver\LIS2DW12_ACC_driver.h" 21 | #include "stm32f1xx_hal.h" 22 | #include "usbd_cdc_if.h" 23 | 24 | /* Private macro -------------------------------------------------------------*/ 25 | #define SENSITIVITY_2g (0.244) /* mg */ 26 | #define SENSITIVITY_2g_LP_M1 (0.976) /* mg */ 27 | /* Private variables ---------------------------------------------------------*/ 28 | static status_t response; 29 | static Type3Axis16bit_U Acceleration; 30 | static u8_t WhoAmI, rst; 31 | static i32_t Acceleration_mg[3]; 32 | static u8_t USBbuffer[1000]; 33 | 34 | /* Extern variables ----------------------------------------------------------*/ 35 | /* Private function prototypes -----------------------------------------------*/ 36 | 37 | /* Private functions ---------------------------------------------------------*/ 38 | 39 | /* Test Acquisition of sensor samples */ 40 | int example_main(void) 41 | { 42 | /* Check device ID */ 43 | response = LIS2DW12_ACC_R_WhoAmI(0, &WhoAmI); 44 | if(response==MEMS_ERROR) while(1); //manage here comunication error 45 | if ( WhoAmI != LIS2DW12_ACC_WHO_AM_I ) 46 | while(1); //manage here device not found 47 | 48 | /* Restore default configuration */ 49 | response = LIS2DW12_ACC_W_SoftReset(0, LIS2DW12_ACC_SOFT_RESET_ENABLE); 50 | if(response==MEMS_ERROR) while(1); //manage here comunication error 51 | do 52 | { 53 | response = LIS2DW12_ACC_R_SoftReset(0, (LIS2DW12_ACC_SOFT_RESET_t*) &rst); 54 | if(response==MEMS_ERROR) while(1); //manage here comunication error 55 | } 56 | while (rst); 57 | 58 | /* Configure Power Mode */ 59 | response = LIS2DW12_ACC_W_ModeSelection(0, LIS2DW12_ACC_MODE_LOW_POWER_STD); 60 | if(response==MEMS_ERROR) while(1); //manage here comunication error 61 | 62 | /* Set Acc Output Data Rate */ 63 | response = LIS2DW12_ACC_W_OutputDataRate(0, LIS2DW12_ACC_ODR_LP_100Hz_HP_100Hz); 64 | if(response==MEMS_ERROR) while(1); //manage here comunication error 65 | 66 | /* Set Acc Full Scale */ 67 | response = LIS2DW12_ACC_W_FullScaleSelection(0, LIS2DW12_ACC_FS_2g); 68 | if(response==MEMS_ERROR) while(1); //manage here comunication error 69 | 70 | /* Enable Acc Block Data Update */ 71 | response = LIS2DW12_ACC_W_BlockDataUpdate(0, LIS2DW12_ACC_BDU_ENABLE); 72 | if(response==MEMS_ERROR) while(1); //manage here comunication error 73 | 74 | /* DRDY on INT2 */ 75 | response = LIS2DW12_ACC_W_PinFunction_INT2(0, LIS2DW12_ACC_INT2_MODE_DATA_READY); 76 | if(response==MEMS_ERROR) while(1); //manage here comunication error 77 | 78 | /* Select Power mode */ 79 | response = LIS2DW12_ACC_W_LowPowerModeSelection(0, LIS2DW12_ACC_LP_MODE1_12bit); 80 | if(response==MEMS_ERROR) while(1); //manage here comunication error 81 | 82 | /* 83 | * Read samples in polling mode (no int) 84 | */ 85 | while(1) 86 | { 87 | //Polling on int pin driven by DRDY signal 88 | //if (HAL_GPIO_ReadPin(INT1_GPIO_Port, INT1_Pin)) 89 | if (HAL_GPIO_ReadPin(INT2_GPIO_Port, INT2_Pin)) 90 | { 91 | LIS2DW12_ACC_Get_Acceleration(0, Acceleration.u8bit); 92 | 93 | /* Transorm LSB into mg @ 12 bit resolution*/ 94 | Acceleration_mg[0]=(i32_t)((Acceleration.i16bit[0]>>4)*SENSITIVITY_2g_LP_M1); 95 | Acceleration_mg[1]=(i32_t)((Acceleration.i16bit[1]>>4)*SENSITIVITY_2g_LP_M1); 96 | Acceleration_mg[2]=(i32_t)((Acceleration.i16bit[2]>>4)*SENSITIVITY_2g_LP_M1); 97 | 98 | sprintf((char*)USBbuffer, "%6d\t%6d\t%6d\r\n", Acceleration_mg[0], Acceleration_mg[1], Acceleration_mg[2]); 99 | CDC_Transmit_FS( USBbuffer, strlen((char const*)USBbuffer) ); 100 | } 101 | } 102 | } 103 | 104 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DW12_Driver_Example/tag/ver1.1_20170511/ReadData.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : ReadData.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 03 Mar 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Acc\LIS2DW12_Driver_Example\trunk\LIS2DW12_Driver\LIS2DW12_ACC_driver.h" 21 | #include "stm32f1xx_hal.h" 22 | #include "usbd_cdc_if.h" 23 | 24 | /* Private macro -------------------------------------------------------------*/ 25 | #define SENSITIVITY_2g (0.244) /* mg */ 26 | /* Private variables ---------------------------------------------------------*/ 27 | static status_t response; 28 | static Type3Axis16bit_U Acceleration; 29 | static u8_t value_XL, WhoAmI, rst; 30 | static i32_t Acceleration_mg[3]; 31 | static uint8_t USBbuffer[1000]; 32 | 33 | /* Extern variables ----------------------------------------------------------*/ 34 | /* Private function prototypes -----------------------------------------------*/ 35 | 36 | /* Private functions ---------------------------------------------------------*/ 37 | 38 | /* Test Acquisition of sensor samples */ 39 | int example_main(void) 40 | { 41 | /* Check device ID */ 42 | response = LIS2DW12_ACC_R_WhoAmI(0, &WhoAmI); 43 | if(response==MEMS_ERROR) while(1); //manage here comunication error 44 | if ( WhoAmI != LIS2DW12_ACC_WHO_AM_I ) 45 | while(1); //manage here device not found 46 | 47 | /* Restore default configuration */ 48 | response = LIS2DW12_ACC_W_SoftReset(0, LIS2DW12_ACC_SOFT_RESET_ENABLE); 49 | if(response==MEMS_ERROR) while(1); //manage here comunication error 50 | do 51 | { 52 | response = LIS2DW12_ACC_R_SoftReset(0, (LIS2DW12_ACC_SOFT_RESET_t*) &rst); 53 | if(response==MEMS_ERROR) while(1); //manage here comunication error 54 | } 55 | while (rst); 56 | 57 | /* Configure Power Mode */ 58 | response = LIS2DW12_ACC_W_ModeSelection(0, LIS2DW12_ACC_MODE_HIGH_PERFORMANCE); 59 | if(response==MEMS_ERROR) while(1); //manage here comunication error 60 | 61 | /* Set Acc Full Scale */ 62 | response = LIS2DW12_ACC_W_FullScaleSelection(0, LIS2DW12_ACC_FS_2g); 63 | if(response==MEMS_ERROR) while(1); //manage here comunication error 64 | 65 | /* Enable Acc Block Data Update */ 66 | response = LIS2DW12_ACC_W_BlockDataUpdate(0, LIS2DW12_ACC_BDU_ENABLE); 67 | if(response==MEMS_ERROR) while(1); //manage here comunication error 68 | 69 | /* Set Acc Output Data Rate */ 70 | response = LIS2DW12_ACC_W_OutputDataRate(0, LIS2DW12_ACC_ODR_LP_100Hz_HP_100Hz); 71 | if(response==MEMS_ERROR) while(1); //manage here comunication error 72 | 73 | 74 | /* 75 | * Read samples in polling mode (no int) 76 | */ 77 | while(1) 78 | { 79 | /* Read output only if new value is available */ 80 | response = LIS2DW12_ACC_R_GetStatus(0, (LIS2DW12_ACC_STATUS_t*) &value_XL); 81 | if(response==MEMS_ERROR) while(1); //manage here comunication error 82 | 83 | if (LIS2DW12_ACC_DRDY_NEW_AVAILABLE == value_XL) 84 | { 85 | LIS2DW12_ACC_Get_Acceleration(0, Acceleration.u8bit); 86 | 87 | /* Transorm LSB into mg @ 14 bit resolution*/ 88 | Acceleration_mg[0] = (i32_t)((Acceleration.i16bit[0]>>2)*SENSITIVITY_2g); 89 | Acceleration_mg[1] = (i32_t)((Acceleration.i16bit[1]>>2)*SENSITIVITY_2g); 90 | Acceleration_mg[2] = (i32_t)((Acceleration.i16bit[2]>>2)*SENSITIVITY_2g); 91 | 92 | sprintf((char*)USBbuffer, "%6d\t%6d\t%6d\r\n", Acceleration_mg[0], Acceleration_mg[1], Acceleration_mg[2]); 93 | CDC_Transmit_FS( USBbuffer, strlen((char const*)USBbuffer) ); 94 | } 95 | } 96 | } 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2DW12_Driver_Example/tag/ver1.1_20170511/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2HH12_Driver_Example/tag/ver1.1_06-06-2016/LIS2HH12_example.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : LIS2HH12_example.c 3 | * Author : MEMS Application Team 4 | * Version : v1.1 5 | * Date : 06 June 2016 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2C_mems.h" 24 | #include "LIS2HH12_driver.h" 25 | 26 | /* Private typedef -----------------------------------------------------------*/ 27 | 28 | /* Private define ------------------------------------------------------------*/ 29 | #define SENSITIVITY 0.061 //LSB/mg 30 | 31 | /* Private macro -------------------------------------------------------------*/ 32 | 33 | /* Private variables ---------------------------------------------------------*/ 34 | status_t response; // mems error variable 35 | Type3Axis16bit_U data; // accelerometer row data 36 | float mgData_X, mgData_Y,mgData_Z; //data in mg 37 | 38 | /* Extern variables ----------------------------------------------------------*/ 39 | /* Private function prototypes -----------------------------------------------*/ 40 | 41 | /* Private functions ---------------------------------------------------------*/ 42 | 43 | /******************************************************************************* 44 | * Function Name : main. 45 | * Description : Main routine. 46 | * Input : None. 47 | * Output : None. 48 | * Return : None. 49 | *******************************************************************************/ 50 | int main(void) 51 | { 52 | //this flag is used for reading data only when there are new data 53 | u8_t flag_LIS2HH12_STATUS_FLAGS; 54 | 55 | //function for MKI109V1 board 56 | InitHardware(); 57 | I2C_MEMS_Init(); 58 | 59 | //Initialize Sensor 60 | //set Fullscale 61 | response = LIS2HH12_SetFullScale(0, LIS2HH12_FS_2g); 62 | if(response==MEMS_ERROR) while(1); //manage here comunication error 63 | 64 | //set Block Data Update 65 | response = LIS2HH12_BlockDataUpdate(0, LIS2HH12_BDU_ENABLE); 66 | if(response==MEMS_ERROR) while(1); //manage here comunication error 67 | 68 | //Enable Axis 69 | response = LIS2HH12_EnableAxis(0, LIS2HH12_X_ENABLE|LIS2HH12_Y_ENABLE|LIS2HH12_Z_ENABLE); 70 | if(response==MEMS_ERROR) while(1); //manage here comunication error 71 | 72 | //set ODR (turn ON device) 73 | response = LIS2HH12_SetODR(0, LIS2HH12_ODR_100_Hz); 74 | if(response==MEMS_ERROR) while(1); //manage here comunication error 75 | 76 | 77 | //main loop 78 | while(1) 79 | { 80 | //get Acceleration Raw data 81 | response = LIS2HH12_Status_Flags(0, &flag_LIS2HH12_STATUS_FLAGS); 82 | if(response==MEMS_ERROR) while(1); //manage here comunication error 83 | //read only if new data are available 84 | else if (flag_LIS2HH12_STATUS_FLAGS&LIS2HH12_ZYX_NEW_DATA_AVAILABLE) 85 | { 86 | response = LIS2HH12_GetAccRaw(0, data.u8bit); 87 | //convert from LSB to mg 88 | mgData_X=data.i16bit[0]*SENSITIVITY; 89 | mgData_Y=data.i16bit[1]*SENSITIVITY; 90 | mgData_Z=data.i16bit[2]*SENSITIVITY; 91 | } 92 | } 93 | } // end main 94 | 95 | 96 | /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS2HH12_Driver_Example/tag/ver1.1_06-06-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The *_example.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all board. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS3DSH_Driver_Example/tag/ver1.1_05-05-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder lis3dsh_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all board. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc/LIS3DSH_Driver_Example/tag/ver1.1_05-05-2016/main_LIS3DSH_example_.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : main_LIS3DSH_example_.c 3 | * Author : MEMS Application Team 4 | * Version : v1.1 5 | * Date : 05 May 2016 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | 20 | /* Includes ------------------------------------------------------------------*/ 21 | //include files for MKI109V1 board 22 | #include "stm32f10x.h" 23 | #include "i2c_mems.h" 24 | #include "hw_config.h" 25 | 26 | 27 | //include MEMS driver 28 | #include "LIS3DSH_ACC_driver.h" 29 | 30 | /* Private typedef -----------------------------------------------------------*/ 31 | /* Private define ------------------------------------------------------------*/ 32 | /* Private macro -------------------------------------------------------------*/ 33 | /* Private variables ---------------------------------------------------------*/ 34 | /* Extern variables ----------------------------------------------------------*/ 35 | /* Private function prototypes -----------------------------------------------*/ 36 | /* Private functions ---------------------------------------------------------*/ 37 | void Function_Error(void); 38 | 39 | 40 | /******************************************************************************* 41 | * Function Name : main. 42 | * Description : Main routine. 43 | * Input : None. 44 | * Output : None. 45 | * Return : None. 46 | *******************************************************************************/ 47 | 48 | int main(void) 49 | { 50 | u8_t dummy=0; 51 | Type3Axis16bit_U data; 52 | 53 | //Initialize your hardware here 54 | 55 | //function for MKI109V1 board 56 | InitHardware(); 57 | I2C_MEMS_Init(); 58 | 59 | //Get device information to check 60 | if(! LIS3DSH_ACC_GetWHO_AM_I(0, &dummy)) 61 | Function_Error(); 62 | if ( dummy != LIS3DSH_ACC_I_AM_LIS3DSH ) 63 | Function_Error(); 64 | 65 | //Set device parameter 66 | if(! LIS3DSH_ACC_SetFullScale(0, LIS3DSH_ACC_FULLSCALE_2)) 67 | Function_Error(); 68 | if(! LIS3DSH_ACC_SetAxis(0, LIS3DSH_ACC_X_ENABLE | LIS3DSH_ACC_Y_ENABLE | LIS3DSH_ACC_Z_ENABLE)) 69 | Function_Error(); 70 | if(!LIS3DSH_ACC_SetODR(0, LIS3DSH_ACC_ODR_3_125)) 71 | Function_Error(); 72 | 73 | while(1){ 74 | //Get Device Status 75 | if(! LIS3DSH_ACC_GetSatusReg(0, &dummy)) 76 | Function_Error(); 77 | 78 | //Check if new data are available 79 | if ( dummy&LIS3DSH_ACC_STATUS_REG_ZYXDA ){ 80 | //Get new data 81 | if(! LIS3DSH_ACC_GetAccAxesRaw(0, &data)) 82 | Function_Error(); 83 | } 84 | } 85 | 86 | } // end main 87 | 88 | 89 | /******************************************************************************* 90 | * Function Name : Function_Error 91 | * Description : Generic Error function 92 | * Input : None 93 | * Output : None 94 | * Return : None 95 | *******************************************************************************/ 96 | void Function_Error(void) 97 | { 98 | while(1); 99 | } 100 | 101 | 102 | 103 | //function for MKI109V1 board 104 | #ifdef USE_FULL_ASSERT 105 | /******************************************************************************* 106 | * Function Name : assert_failed 107 | * Description : Reports the name of the source file and the source line number 108 | * where the assert_param error has occurred. 109 | * Input : - file: pointer to the source file name 110 | * - line: assert_param error line source number 111 | * Output : None 112 | * Return : None 113 | *******************************************************************************/ 114 | void assert_failed(uint8_t* file, uint32_t line) 115 | { 116 | /* User can add his own implementation to report the file name and line number, 117 | ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ 118 | 119 | /* Infinite loop */ 120 | while (1) 121 | {} 122 | } 123 | #endif 124 | 125 | /******************* (C) COPYRIGHT 2013 STMicroelectronics *****END OF FILE****/ 126 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Gyro/LSM330_Driver__Example/tag/ver1.1_20161220/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Gyro/LSM6DS0_Driver__Example/tag/ver1.1_10-08-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Gyro/LSM6DS0_Driver__Example/tag/ver1.1_10-08-2016/main_LSM6DS0_example.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : main_LSM6DS0_example.c 3 | * Author : MEMS Application Team 4 | * Version : v1.1 5 | * Date : 10 August 2016 6 | * Description : LSM6DS0 header driver file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2C_mems.h" 24 | #include "LSM6DS0_ACC_GYRO_driver.h" 25 | 26 | 27 | /* Private typedef -----------------------------------------------------------*/ 28 | 29 | /* Private define ------------------------------------------------------------*/ 30 | #define SENSITIVITY_ACC 0.061 // mg/LSb @ FS = 2 g 31 | #define SENSITIVITY_GYRO 70. // mdps/LSb @ FS = 2000 dps 32 | /* Private macro -------------------------------------------------------------*/ 33 | 34 | /* Private variables ---------------------------------------------------------*/ 35 | 36 | status_t response; 37 | LSM6DS0_ACC_GYRO_GDA_t gyro_DRDY; 38 | LSM6DS0_ACC_GYRO_XLDA_t acc_DRDY; 39 | Type3Axis16bit_U accData, gyroData;; 40 | float gyroData_mdps[3]; 41 | float accData_mg[3]; 42 | 43 | /* Extern variables ----------------------------------------------------------*/ 44 | /* Private function prototypes -----------------------------------------------*/ 45 | 46 | /* Private functions ---------------------------------------------------------*/ 47 | 48 | /******************************************************************************* 49 | * Function Name : main. 50 | * Description : Simple LIS3MDL Example. 51 | * Input : None. 52 | * Output : None. 53 | * Return : None. 54 | *******************************************************************************/ 55 | int main(void) 56 | { 57 | InitHardware(); 58 | I2C_MEMS_Init(); 59 | 60 | //configure device 61 | response = LSM6DS0_ACC_GYRO_W_GyroFullScale(0, LSM6DS0_ACC_GYRO_FS_G_2000dps); 62 | if(response==MEMS_ERROR) while(1); //manage here comunication error 63 | 64 | response = LSM6DS0_ACC_GYRO_W_GyroDataRate(0, LSM6DS0_ACC_GYRO_ODR_G_60Hz); 65 | if(response==MEMS_ERROR) while(1); //manage here comunication error 66 | 67 | response = LSM6DS0_ACC_GYRO_W_AccelerometerFullScale(0, LSM6DS0_ACC_GYRO_FS_XL_2g); 68 | if(response==MEMS_ERROR) while(1); //manage here comunication error 69 | 70 | response = LSM6DS0_ACC_GYRO_W_AccelerometerDataRate(0, LSM6DS0_ACC_GYRO_ODR_XL_10Hz); 71 | if(response==MEMS_ERROR) while(1); //manage here comunication error 72 | 73 | response = LSM6DS0_ACC_GYRO_W_BlockDataUpdate(0, LSM6DS0_ACC_GYRO_BDU_ENABLE); 74 | if(response==MEMS_ERROR) while(1); //manage here comunication error 75 | 76 | //main loop 77 | while(1) 78 | { 79 | //Read output only if new value is available 80 | response = LSM6DS0_ACC_GYRO_R_GyroDataReadyFlag(0, &gyro_DRDY); 81 | if(response==MEMS_ERROR) while(1); //manage here comunication error 82 | 83 | response = LSM6DS0_ACC_GYRO_R_AccelerometerDataReadyFlag(0, &acc_DRDY); 84 | if(response==MEMS_ERROR) while(1); //manage here comunication error 85 | 86 | if (LSM6DS0_ACC_GYRO_GDA_UP==gyro_DRDY) 87 | { 88 | LSM6DS0_ACC_GYRO_Get_AngularRate(0, gyroData.u8bit); 89 | gyroData_mdps[0]=gyroData.i16bit[0]*SENSITIVITY_GYRO; 90 | gyroData_mdps[1]=gyroData.i16bit[1]*SENSITIVITY_GYRO; 91 | gyroData_mdps[2]=gyroData.i16bit[2]*SENSITIVITY_GYRO; 92 | } 93 | 94 | if (LSM6DS0_ACC_GYRO_XLDA_UP==acc_DRDY) 95 | { 96 | LSM6DS0_ACC_GYRO_Get_Acceleration(0, accData.u8bit); 97 | accData_mg[0]=accData.i16bit[0]*SENSITIVITY_ACC; 98 | accData_mg[1]=accData.i16bit[1]*SENSITIVITY_ACC; 99 | accData_mg[2]=accData.i16bit[2]*SENSITIVITY_ACC; 100 | } 101 | } 102 | } // end main 103 | 104 | 105 | /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ 106 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Gyro/LSM6DS3_Driver__Example/tag/ver2.0_27-06-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems 9 | 10 | LSM6DS3 DS rev0.7 -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Gyro/LSM6DSL_Driver__Example/tag/ver1.6_20161201/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems 9 | 10 | LSM6DSL DS rev1.0 -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Gyro/LSM6DSL_Driver__Example/tag/ver1.6_20161201/example_Pedometer.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : example_Pedometer.c 3 | * Author : MEMS Application Team 4 | * Version : v1.5 5 | * Date : 17 May 2016 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2C_mems.h" 24 | #include "interruptHandler.h" 25 | #include "LSM6DSL_ACC_GYRO_driver.h" 26 | 27 | /* This macro can be used to switch on/off the evaluation with interrupts */ 28 | //#define TEST_WITH_INTERRUPT 1 29 | 30 | /* Private macro -------------------------------------------------------------*/ 31 | /* Private variables ---------------------------------------------------------*/ 32 | /* Extern variables ----------------------------------------------------------*/ 33 | /* Private function prototypes -----------------------------------------------*/ 34 | /* Private functions ---------------------------------------------------------*/ 35 | 36 | /* 37 | * PEDOMETER test 38 | */ 39 | u16_t Number_Of_Steps = 0; 40 | 41 | /* 42 | * Callback to handle the Pedometer event. 43 | * It must be registered to be called at interrupt time. 44 | */ 45 | #ifdef TEST_WITH_INTERRUPT 46 | void LSM6DSL_ACC_GYRO_Pedo_Callback(u8_t intID) 47 | { 48 | LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t PedoStatus; 49 | 50 | LSM6DSL_ACC_GYRO_R_PEDO_EV_STATUS(0, &PedoStatus); 51 | if (PedoStatus == LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_DETECTED) { 52 | LSM6DSL_ACC_GYRO_Get_GetStepCounter(0, (u8_t *)&Number_Of_Steps); 53 | } 54 | } 55 | #endif 56 | 57 | 58 | /******************************************************************************* 59 | * Function Name : main. 60 | * Description : Simple LIS3MDL Example. 61 | * Input : None. 62 | * Output : None. 63 | * Return : None. 64 | *******************************************************************************/ 65 | 66 | int main(void) 67 | { 68 | u8 who_am_i = 0x0; 69 | status_t response; 70 | 71 | InitHardware(); 72 | I2C_MEMS_Init(); 73 | 74 | /* Read WHO_AM_I and check if device is really the LSM6DSL */ 75 | LSM6DSL_ACC_GYRO_R_WHO_AM_I(0, &who_am_i); 76 | if (who_am_i != LSM6DSL_ACC_GYRO_WHO_AM_I) 77 | while(1); //manage here comunication error 78 | 79 | /* configure pedometer */ 80 | /* Set ACC ODR */ 81 | response = LSM6DSL_ACC_GYRO_W_ODR_XL(0, LSM6DSL_ACC_GYRO_ODR_XL_26Hz); 82 | if(response==MEMS_ERROR) while(1); //manage here comunication error 83 | 84 | /* Enable Pedometer */ 85 | response = LSM6DSL_ACC_GYRO_W_PEDO(0, LSM6DSL_ACC_GYRO_PEDO_ENABLED); 86 | if(response==MEMS_ERROR) while(1); //manage here comunication error 87 | 88 | /* Pedometer on INT1 */ 89 | response = LSM6DSL_ACC_GYRO_W_STEP_DET_on_INT1(0, LSM6DSL_ACC_GYRO_INT1_PEDO_ENABLED); 90 | if(response==MEMS_ERROR) while(1); //manage here comunication error 91 | 92 | /* Enable Embedded Functions */ 93 | LSM6DSL_ACC_GYRO_W_FUNC_EN(0, LSM6DSL_ACC_GYRO_FUNC_EN_ENABLED); 94 | 95 | /* configure pedometer acceleration threshold */ 96 | LSM6DSL_ACC_GYRO_W_PedoThreshold(0, 13); 97 | 98 | /* Clear the step counter */ 99 | LSM6DSL_ACC_GYRO_W_PedoStepReset(0, LSM6DSL_ACC_GYRO_PEDO_RST_STEP_ENABLED); 100 | 101 | #ifdef TEST_WITH_INTERRUPT 102 | RegisterInterrupt(LSM6DSL_ACC_GYRO_Pedo_Callback); 103 | 104 | while(1) { 105 | /* Event will be handled in driver callback */ 106 | } 107 | #else 108 | LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_t PedoStatus; 109 | 110 | /* 111 | * Handle the event using polling mode 112 | */ 113 | while(1) { 114 | LSM6DSL_ACC_GYRO_R_PEDO_EV_STATUS(0, &PedoStatus); 115 | if (PedoStatus == LSM6DSL_ACC_GYRO_PEDO_EV_STATUS_DETECTED) { 116 | LSM6DSL_ACC_GYRO_Get_GetStepCounter(0, (u8_t *)&Number_Of_Steps); 117 | } 118 | } 119 | #endif 120 | 121 | } // end main 122 | 123 | /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ 124 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Gyro/LSM6DSO_Driver__Example/tag/ver0.2_20170512/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems 9 | 10 | LSM6DSL DS rev1.0 -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Mag/LSM303AH_Driver__Example/tag/ver1.1_15-03-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Acc_Mag/LSM303C_Driver__Example/tag/ver1.1_20160922/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/HTS221_Driver__Example/tag/ver1.1_03-10-2016/HTS221_example.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : HTS221_example.c 3 | * Author : MEMS Application Team 4 | * Version : v1.1 5 | * Date : 3 October 2016 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2c_mems.h" 24 | #include "HTS221_driver.h" 25 | 26 | /* Private typedef -----------------------------------------------------------*/ 27 | 28 | /* Private define ------------------------------------------------------------*/ 29 | 30 | /* Private macro -------------------------------------------------------------*/ 31 | 32 | /* Private variables ---------------------------------------------------------*/ 33 | HTS221_Error_et response; // mems error variable 34 | HTS221_Init_st HTS221_Init; // mems config type 35 | uint8_t WhoAmI; 36 | HTS221_BitStatus_et drdy_humidity, drdy_temperature; 37 | uint16_t humidity, humidity_rel; 38 | int16_t temperature, temperature_C; 39 | /* Extern variables ----------------------------------------------------------*/ 40 | /* Private function prototypes -----------------------------------------------*/ 41 | 42 | /* Private functions ---------------------------------------------------------*/ 43 | 44 | /******************************************************************************* 45 | * Function Name : main. 46 | * Description : Main routine. 47 | * Input : None. 48 | * Output : None. 49 | * Return : None. 50 | *******************************************************************************/ 51 | int main(void) 52 | { 53 | 54 | InitHardware(); 55 | I2C_MEMS_Init(); 56 | 57 | response = HTS221_Get_DeviceID(0, &WhoAmI); 58 | if ( response == HTS221_ERROR ) while(1); //manage here comunication error 59 | 60 | if ( WhoAmI != HTS221_WHO_AM_I_VAL ) while(1); //manage here device not found 61 | 62 | 63 | HTS221_DeActivate(0); 64 | if( response == HTS221_ERROR ) while(1); //manage here comunication error 65 | 66 | //Initialize Sensor 67 | HTS221_Init.avg_h = HTS221_AVGH_16; 68 | HTS221_Init.avg_t = HTS221_AVGT_8; 69 | HTS221_Init.odr = HTS221_ODR_7HZ; 70 | HTS221_Init.bdu_status = HTS221_ENABLE; 71 | HTS221_Init.heater_status = HTS221_DISABLE; 72 | HTS221_Init.irq_level = HTS221_HIGH_LVL; 73 | HTS221_Init.irq_output_type = HTS221_PUSHPULL; 74 | HTS221_Init.irq_enable = HTS221_DISABLE; 75 | response = HTS221_Set_InitConfig(0, &HTS221_Init); 76 | if ( response == HTS221_ERROR ) while(1); //manage here comunication error 77 | 78 | //Activate 79 | response = HTS221_Activate(0); 80 | if ( response == HTS221_ERROR ) while(1); //manage here comunication error 81 | 82 | //main loop 83 | while(1) 84 | { 85 | 86 | //get temperature /humidity data status 87 | response = HTS221_Get_DataStatus(0, &drdy_humidity, &drdy_temperature); 88 | if(response==HTS221_ERROR) while(1); //manage here comunication error 89 | 90 | if ( drdy_temperature == HTS221_SET) 91 | { 92 | //get temperature data 93 | response = HTS221_Get_Temperature(0, &temperature); 94 | if ( response == HTS221_ERROR ) while(1); //manage here comunication error 95 | temperature_C = temperature / 10; 96 | } 97 | 98 | if ( drdy_humidity == HTS221_SET) 99 | { 100 | //get humidity data 101 | response = HTS221_Get_Humidity(0, &humidity); 102 | if ( response == HTS221_ERROR ) while(1); //manage here comunication error 103 | humidity_rel = humidity / 10; 104 | } 105 | 106 | } // end main loop 107 | 108 | } // end main 109 | 110 | 111 | /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/HTS221_Driver__Example/tag/ver1.1_03-10-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The *_example.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all board. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS22HB_Driver__Example/tag/ver1.1_20161213/LPS22HB_Driver/LPS22HB_Driver.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS22HB_Driver__Example/tag/ver1.1_20161213/LPS22HB_Driver/LPS22HB_Driver.c -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS22HB_Driver__Example/tag/ver1.1_20161213/LPS22HB_Driver/LPS22HB_Driver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS22HB_Driver__Example/tag/ver1.1_20161213/LPS22HB_Driver/LPS22HB_Driver.h -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS22HB_Driver__Example/tag/ver1.1_20161213/ReadDRDY.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : ReadDRDY.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 18 May 2017 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT(c) 2017 STMicroelectronics

12 | * 13 | * Redistribution and use in source and binary forms, with or without modification, 14 | * are permitted provided that the following conditions are met: 15 | * 1. Redistributions of source code must retain the above copyright notice, 16 | * this list of conditions and the following disclaimer. 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, 18 | * this list of conditions and the following disclaimer in the documentation 19 | * and/or other materials provided with the distribution. 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 | * may be used to endorse or promote products derived from this software 22 | * without specific prior written permission. 23 | * 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | * 35 | ****************************************************************************** 36 | */ 37 | 38 | /* Includes ------------------------------------------------------------------*/ 39 | #include "..\..\Ambient\LPS22HB_Driver__Example\trunk\LPS22HB_Driver\LPS22HB_Driver.h" 40 | #include "stm32f1xx_hal.h" 41 | #include "usbd_cdc_if.h" 42 | #include "spi.h" 43 | 44 | /* Private macro -------------------------------------------------------------*/ 45 | /* Private variables ---------------------------------------------------------*/ 46 | 47 | static uint8_t WhoAmI; 48 | static uint8_t USBbuffer[1000]; 49 | static LPS22HB_MeasureTypeDef_st Measurement_Value; 50 | 51 | /* Extern variables ----------------------------------------------------------*/ 52 | /* Private function prototypes -----------------------------------------------*/ 53 | 54 | /* Private functions ---------------------------------------------------------*/ 55 | 56 | /* Test Acquisition of sensor samples */ 57 | int example_main(void) 58 | { 59 | LPS22HB_InterruptTypeDef_st SensorInterruptConfig; 60 | 61 | LPS22HB_Get_DeviceID(0, &WhoAmI); 62 | 63 | SensorInterruptConfig.AutoRifP = LPS22HB_DISABLE; 64 | SensorInterruptConfig.AutoZero = LPS22HB_DISABLE; 65 | SensorInterruptConfig.FIFO_FTH = LPS22HB_DISABLE; 66 | SensorInterruptConfig.FIFO_FULL = LPS22HB_DISABLE; 67 | SensorInterruptConfig.FIFO_OVR = LPS22HB_DISABLE; 68 | SensorInterruptConfig.LatchIRQ = LPS22HB_DISABLE; 69 | 70 | SensorInterruptConfig.DRDY = LPS22HB_ENABLE; 71 | SensorInterruptConfig.PP_OD = LPS22HB_PushPull; 72 | SensorInterruptConfig.OutputSignal_INT = LPS22HB_DATA; 73 | SensorInterruptConfig.INT_H_L = LPS22HB_ActiveHigh; 74 | 75 | LPS22HB_Init(0); 76 | LPS22HB_Set_InterruptConfig(0,&SensorInterruptConfig); 77 | 78 | while(1) 79 | { 80 | if (HAL_GPIO_ReadPin(INT1_GPIO_Port, INT1_Pin)) 81 | { 82 | LPS22HB_Get_Measurement(0, &Measurement_Value); 83 | sprintf((char*)USBbuffer, "%6d\t%6d\r\n", Measurement_Value.Pout, Measurement_Value.Tout); 84 | CDC_Transmit_FS( USBbuffer, strlen((char const*)USBbuffer) ); 85 | } 86 | } 87 | } 88 | 89 | /* User defined Read / Write Functions */ 90 | 91 | int32_t Sensor_IO_Write(void *handle, uint8_t Reg, uint8_t *Bufp, uint16_t len) 92 | { 93 | /* Example */ 94 | HAL_GPIO_WritePin(CS_DEV_GPIO_Port, CS_DEV_Pin, GPIO_PIN_RESET); 95 | HAL_SPI_Transmit(&hspi2, &Reg, 1, 1000); 96 | HAL_SPI_Transmit(&hspi2, Bufp, len, 1000); 97 | HAL_GPIO_WritePin(CS_DEV_GPIO_Port, CS_DEV_Pin, GPIO_PIN_SET); 98 | return 0; 99 | } 100 | 101 | 102 | int32_t Sensor_IO_Read(void *handle, uint8_t Reg, uint8_t *Bufp, uint16_t len) 103 | { 104 | /* Example */ 105 | HAL_GPIO_WritePin(CS_DEV_GPIO_Port, CS_DEV_Pin, GPIO_PIN_RESET); 106 | uint8_t dummy = Reg|0x80; 107 | HAL_SPI_Transmit(&hspi2, &dummy, 1, 1000); 108 | HAL_SPI_Receive(&hspi2, Bufp, len, 1000); 109 | HAL_GPIO_WritePin(CS_DEV_GPIO_Port, CS_DEV_Pin, GPIO_PIN_SET); 110 | return 0; 111 | } -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS22HB_Driver__Example/tag/ver1.1_20161213/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems 9 | 10 | LSM6DSL DS rev1.0 -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS25HB_Driver__Example/tag/ver1.1_10-08-2016/LPS25HB_Driver/LPS25HB_Driver.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS25HB_Driver__Example/tag/ver1.1_10-08-2016/LPS25HB_Driver/LPS25HB_Driver.c -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS35HW_Driver__Example/tag/ver1.0_13-09-2016/LPS35HW_Driver/lps35hw_Driver.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS35HW_Driver__Example/tag/ver1.0_13-09-2016/LPS35HW_Driver/lps35hw_Driver.c -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS35HW_Driver__Example/tag/ver1.0_13-09-2016/LPS35HW_Driver/lps35hw_Driver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Ambient/LPS35HW_Driver__Example/tag/ver1.0_13-09-2016/LPS35HW_Driver/lps35hw_Driver.h -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Gyro/A3G4250D_Driver__Example/tag/ver1.1_30-03-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Gyro/A3G4250D_Driver__Example/tag/ver1.1_30-03-2016/main_A3G4250D_example.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : main_A3G4250D_example.c 3 | * Author : MEMS Application Team 4 | * Version : v1.1 5 | * Date : 31 Mar 2016 6 | * Description : A3G4250D source driver file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2C_mems.h" 24 | #include "A3G4250D_GYRO_driver.h" 25 | 26 | /* Private typedef -----------------------------------------------------------*/ 27 | 28 | /* Private define ------------------------------------------------------------*/ 29 | #define SENSITIVITY_245DPS 8.75/1000 /* dps/LSB */ 30 | 31 | /* Private macro -------------------------------------------------------------*/ 32 | 33 | /* Private variables ---------------------------------------------------------*/ 34 | A3G4250D_GYRO_ZYXDA_t value_G; 35 | Type3Axis16bit_U AngularRate; 36 | float AngularRate_dps[3]; 37 | 38 | status_t response; 39 | 40 | /* Extern variables ----------------------------------------------------------*/ 41 | /* Private function prototypes -----------------------------------------------*/ 42 | 43 | /* Private functions ---------------------------------------------------------*/ 44 | void init_A3G4250D_GYRO(void) 45 | { 46 | /* Gyro ODR */ 47 | response = A3G4250D_GYRO_W_DR_bits(0, A3G4250D_GYRO_DR_100HZ); 48 | if(response==MEMS_ERROR) while(1); //manage here comunication error 49 | 50 | /* Device Enable */ 51 | response = A3G4250D_GYRO_W_PD_bits(0, A3G4250D_GYRO_PD_NORMAL_MODE); 52 | if(response==MEMS_ERROR) while(1); //manage here comunication error 53 | } 54 | 55 | /******************************************************************************* 56 | * Function Name : main. 57 | * Description : Simple A3G4250D_GYRO Example. 58 | * Input : None. 59 | * Output : None. 60 | * Return : None. 61 | *******************************************************************************/ 62 | int main(void) 63 | { 64 | InitHardware(); 65 | I2C_MEMS_Init(); 66 | 67 | //configure device 68 | init_A3G4250D_GYRO(); 69 | 70 | //main loop 71 | while(1) 72 | { 73 | //Read GYRO output only if new gyro value is available 74 | response = A3G4250D_GYRO_R_ZYXDA_bits(0, &value_G); 75 | if(response==MEMS_ERROR) while(1); //manage here comunication error 76 | 77 | if (A3G4250D_GYRO_ZYXDA_AVAIL==value_G) 78 | { 79 | A3G4250D_GYRO_Get_AngularRate(0, AngularRate.u8bit); 80 | 81 | /* Transorm LSB into dps */ 82 | AngularRate_dps[0]=AngularRate.i16bit[0]*SENSITIVITY_245DPS; 83 | AngularRate_dps[1]=AngularRate.i16bit[1]*SENSITIVITY_245DPS; 84 | AngularRate_dps[2]=AngularRate.i16bit[2]*SENSITIVITY_245DPS; 85 | } 86 | 87 | } 88 | } // end main 89 | 90 | /******************* (C) COPYRIGHT 2014 STMicroelectronics *****END OF FILE****/ 91 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Gyro/L3GD20H_Driver__Example/tag/ver1.0_20131001/L3GD20H_example.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2013 STMicroelectronics ******************** 2 | * File Name : L3GD20H_example.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : October 2013 6 | * Description : EKSTM32 main file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2C_mems.h" 24 | #include "L3GD20H_driver.h" 25 | 26 | /* Private typedef -----------------------------------------------------------*/ 27 | 28 | /* Private define ------------------------------------------------------------*/ 29 | #define SENSITIVITY 8.75 //mdps/LSB 30 | 31 | /* Private macro -------------------------------------------------------------*/ 32 | 33 | /* Private variables ---------------------------------------------------------*/ 34 | status_t response; // mems error variable 35 | AxesRaw_t data; // gyro row data 36 | float mdpsData_X, mdpsData_Y,mdpsData_Z; //data in mdps 37 | 38 | /* Extern variables ----------------------------------------------------------*/ 39 | /* Private function prototypes -----------------------------------------------*/ 40 | 41 | /* Private functions ---------------------------------------------------------*/ 42 | 43 | /******************************************************************************* 44 | * Function Name : main. 45 | * Description : Main routine. 46 | * Input : None. 47 | * Output : None. 48 | * Return : None. 49 | *******************************************************************************/ 50 | int main(void) 51 | { 52 | 53 | //function for MKI109V1 board 54 | InitHardware(); 55 | I2C_MEMS_Init(); 56 | 57 | //Initialize Sensor 58 | //set Fullscale 59 | response = L3GD20H_SetFullScale(L3GD20H_FULLSCALE_250); 60 | if(response==MEMS_ERROR) while(1); //manage here comunication error 61 | 62 | //set PowerMode 63 | response = L3GD20H_SetMode(L3GD20H_NORMAL); 64 | if(response==MEMS_ERROR) while(1); //manage here comunication error 65 | 66 | //Enable Axis 67 | response = L3GD20H_SetAxis(L3GD20H_X_ENABLE | L3GD20H_Y_ENABLE | L3GD20H_Z_ENABLE); 68 | if(response==MEMS_ERROR) while(1); //manage here comunication error 69 | 70 | //set ODR (turn ON device) 71 | response = L3GD20H_SetODR(L3GD20H_ODR_100Hz_BW_25); 72 | if(response==MEMS_ERROR) while(1); //manage here comunication error 73 | 74 | 75 | //main loop 76 | while(1) 77 | { 78 | //get Raw data 79 | response = L3GD20H_GetAngRateRaw(&data); 80 | if(response==MEMS_ERROR) while(1); //manage here comunication error 81 | //convert from LSB to mdps 82 | mdpsData_X=data.AXIS_X*SENSITIVITY; 83 | mdpsData_Y=data.AXIS_Y*SENSITIVITY; 84 | mdpsData_Z=data.AXIS_Z*SENSITIVITY; 85 | } 86 | } // end main 87 | 88 | 89 | /******************* (C) COPYRIGHT 2013 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Gyro/L3GD20H_Driver__Example/tag/ver1.0_20131001/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The *_example.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all board. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Mag/LIS2MDL_Driver__Example/tag/ver1.1_27-02-2017/ReadDRDY.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : ReadDRDY.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 27 February 2016 6 | * Description : LIS2MDL header driver file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Mag\LIS2MDL_Driver__Example\trunk\LIS2MDL_Driver\LIS2MDL_MAG_driver.h" 21 | 22 | /* Private typedef -----------------------------------------------------------*/ 23 | 24 | /* Private define ------------------------------------------------------------*/ 25 | #define SENSITIVITY 1.5 //mG/LSB 26 | 27 | /* Private macro -------------------------------------------------------------*/ 28 | 29 | /* Private variables ---------------------------------------------------------*/ 30 | 31 | u8_t WhoAmI; 32 | status_t response; 33 | LIS2MDL_MAG_STATUS_t value; 34 | Type3Axis16bit_U MagneticField; 35 | Type1Axis16bit_U Temperature; 36 | float magneticFieldGauss[3]; 37 | 38 | /* Extern variables ----------------------------------------------------------*/ 39 | /* Private function prototypes -----------------------------------------------*/ 40 | 41 | /* Private functions ---------------------------------------------------------*/ 42 | 43 | /******************************************************************************* 44 | * Function Name : main. 45 | * Description : LIS2MDL Example reading in DRDY signal. 46 | * Input : None. 47 | * Output : None. 48 | * Return : None. 49 | *******************************************************************************/ 50 | int example_main(void) 51 | { 52 | response = LIS2MDL_MAG_R_WhoAmI_Bits(0, &WhoAmI); 53 | if(response==MEMS_ERROR) while(1); //manage here comunication error 54 | 55 | if ( WhoAmI != LIS2MDL_MAG_WHO_AM_I_VALUE ) 56 | while(1); //manage here device not found 57 | 58 | response = LIS2MDL_MAG_W_DataRate(0, LIS2MDL_MAG_ODR_50_Hz); 59 | if(response==MEMS_ERROR) while(1); //manage here comunication error 60 | 61 | response = LIS2MDL_MAG_W_BlockDataUpdate(0, LIS2MDL_MAG_BDU_ENABLE); 62 | if(response==MEMS_ERROR) while(1); //manage here comunication error 63 | 64 | response = LIS2MDL_MAG_W_TemperatureCompensation(0, LIS2MDL_MAG_COMP_TEMP_ENABLE); 65 | if(response==MEMS_ERROR) while(1); //manage here comunication error 66 | 67 | response = LIS2MDL_MAG_W_OffsetCancellation(0, LIS2MDL_MAG_OFF_CANC_ENABLED); 68 | if(response==MEMS_ERROR) while(1); //manage here comunication error 69 | 70 | response = LIS2MDL_MAG_W_Operating_Mode(0, LIS2MDL_MAG_MD_CONTINUOUS); 71 | if(response==MEMS_ERROR) while(1); //manage here comunication error 72 | 73 | response = LIS2MDL_MAG_W_PinMode(0, LIS2MDL_MAG_INT_MAG_DIGITAL);//[AZ] 74 | if(response==MEMS_ERROR) while(1); //manage here comunication error 75 | 76 | response = LIS2MDL_MAG_W_InterruptGenerator(0, LIS2MDL_MAG_INT_MAG_PIN_INTERNAL_ONLY);//[AZ] 77 | if(response==MEMS_ERROR) while(1); //manage here comunication error 78 | 79 | //main loop 80 | while(1) 81 | { 82 | //Polling on int pin driven by DRDY signal 83 | if (HAL_GPIO_ReadPin(ST_GPIO_Port, ST_Pin)) 84 | { 85 | LIS2MDL_MAG_Get_MagneticOutputs(0, MagneticField.u8bit); 86 | //Convert from LSB to Gauss 87 | magneticFieldGauss[0]=MagneticField.i16bit[0] * SENSITIVITY / 1000; 88 | magneticFieldGauss[1]=MagneticField.i16bit[1] * SENSITIVITY / 1000; 89 | magneticFieldGauss[2]=MagneticField.i16bit[2] * SENSITIVITY / 1000; 90 | } 91 | } 92 | } // end main 93 | 94 | 95 | /******************* (C) COPYRIGHT 2017 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Mag/LIS2MDL_Driver__Example/tag/ver1.1_27-02-2017/ReadData.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** 2 | * File Name : ReadData.c 3 | * Author : MEMS Application Team 4 | * Version : v1.1 5 | * Date : 13 October 2016 6 | * Description : LIS2MDL header driver file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Mag\LIS2MDL_Driver__Example\trunk\LIS2MDL_Driver\LIS2MDL_MAG_driver.h" 21 | 22 | /* Private typedef -----------------------------------------------------------*/ 23 | 24 | /* Private define ------------------------------------------------------------*/ 25 | #define SENSITIVITY 1.5 //mG/LSB 26 | 27 | /* Private macro -------------------------------------------------------------*/ 28 | 29 | /* Private variables ---------------------------------------------------------*/ 30 | 31 | u8_t WhoAmI; 32 | status_t response; 33 | LIS2MDL_MAG_STATUS_t value; 34 | Type3Axis16bit_U MagneticField; 35 | Type1Axis16bit_U Temperature; 36 | float magneticFieldGauss[3]; 37 | 38 | /* Extern variables ----------------------------------------------------------*/ 39 | /* Private function prototypes -----------------------------------------------*/ 40 | 41 | /* Private functions ---------------------------------------------------------*/ 42 | 43 | /******************************************************************************* 44 | * Function Name : main. 45 | * Description : Basic Read LIS2MDL Example. 46 | * Input : None. 47 | * Output : None. 48 | * Return : None. 49 | *******************************************************************************/ 50 | int example_main(void) 51 | { 52 | response = LIS2MDL_MAG_R_WhoAmI_Bits(0, &WhoAmI); 53 | if(response==MEMS_ERROR) while(1); //manage here comunication error 54 | 55 | if ( WhoAmI != LIS2MDL_MAG_WHO_AM_I_VALUE ) 56 | while(1); //manage here device not found 57 | 58 | response = LIS2MDL_MAG_W_DataRate(0, LIS2MDL_MAG_ODR_50_Hz); 59 | if(response==MEMS_ERROR) while(1); //manage here comunication error 60 | 61 | response = LIS2MDL_MAG_W_BlockDataUpdate(0, LIS2MDL_MAG_BDU_ENABLE); 62 | if(response==MEMS_ERROR) while(1); //manage here comunication error 63 | 64 | response = LIS2MDL_MAG_W_TemperatureCompensation(0, LIS2MDL_MAG_COMP_TEMP_ENABLE); 65 | if(response==MEMS_ERROR) while(1); //manage here comunication error 66 | 67 | response = LIS2MDL_MAG_W_OffsetCancellation(0, LIS2MDL_MAG_OFF_CANC_ENABLED); 68 | if(response==MEMS_ERROR) while(1); //manage here comunication error 69 | 70 | response = LIS2MDL_MAG_W_Operating_Mode(0, LIS2MDL_MAG_MD_CONTINUOUS); 71 | if(response==MEMS_ERROR) while(1); //manage here comunication error 72 | 73 | 74 | //main loop 75 | while(1) 76 | { 77 | //Read output only if new value is available 78 | response = LIS2MDL_MAG_R_STATUS_bits(0, &value); 79 | if(response==MEMS_ERROR) while(1); //manage here comunication error 80 | 81 | if (LIS2MDL_MAG_STATUS_NEW_DATA_AVAILABLE & value) 82 | { 83 | LIS2MDL_MAG_Get_MagneticOutputs(0, MagneticField.u8bit); 84 | //Convert from LSB to Gauss 85 | magneticFieldGauss[0]=MagneticField.i16bit[0] * SENSITIVITY / 1000; 86 | magneticFieldGauss[1]=MagneticField.i16bit[1] * SENSITIVITY / 1000; 87 | magneticFieldGauss[2]=MagneticField.i16bit[2] * SENSITIVITY / 1000; 88 | } 89 | } 90 | } // end main 91 | 92 | 93 | /******************* (C) COPYRIGHT 2017 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Mag/LIS2MDL_Driver__Example/tag/ver1.1_27-02-2017/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | Conform with DS Rev 0.4 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Mag/LIS2MDL_Driver__Example/tag/ver1.1_27-02-2017/ReadSingleDRDY.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : ReadSingleDRDY.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 27 February 2016 6 | * Description : LIS2MDL header driver file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "..\..\Mag\LIS2MDL_Driver__Example\trunk\LIS2MDL_Driver\LIS2MDL_MAG_driver.h" 21 | #include "stm32f1xx_hal.h" 22 | 23 | /* Private typedef -----------------------------------------------------------*/ 24 | 25 | /* Private define ------------------------------------------------------------*/ 26 | #define SENSITIVITY 1.5 //mG/LSB 27 | 28 | /* Private macro -------------------------------------------------------------*/ 29 | 30 | /* Private variables ---------------------------------------------------------*/ 31 | 32 | u8_t WhoAmI; 33 | status_t response; 34 | LIS2MDL_MAG_STATUS_t value; 35 | Type3Axis16bit_U MagneticField; 36 | Type1Axis16bit_U Temperature; 37 | float magneticFieldGauss[3]; 38 | 39 | /* Extern variables ----------------------------------------------------------*/ 40 | /* Private function prototypes -----------------------------------------------*/ 41 | 42 | /* Private functions ---------------------------------------------------------*/ 43 | 44 | /******************************************************************************* 45 | * Function Name : main. 46 | * Description : LIS2MDL reading sigle mode using DRDY signal. 47 | * Input : None. 48 | * Output : None. 49 | * Return : None. 50 | *******************************************************************************/ 51 | int example_main(void) 52 | { 53 | response = LIS2MDL_MAG_R_WhoAmI_Bits(0, &WhoAmI); 54 | if(response==MEMS_ERROR) while(1); //manage here comunication error 55 | 56 | if ( WhoAmI != LIS2MDL_MAG_WHO_AM_I_VALUE ) 57 | while(1); //manage here device not found 58 | 59 | response = LIS2MDL_MAG_W_BlockDataUpdate(0, LIS2MDL_MAG_BDU_ENABLE); 60 | if(response==MEMS_ERROR) while(1); //manage here comunication error 61 | 62 | response = LIS2MDL_MAG_W_TemperatureCompensation(0, LIS2MDL_MAG_COMP_TEMP_ENABLE); 63 | if(response==MEMS_ERROR) while(1); //manage here comunication error 64 | 65 | response = LIS2MDL_MAG_W_PinMode(0, LIS2MDL_MAG_INT_MAG_DIGITAL);//[AZ] 66 | if(response==MEMS_ERROR) while(1); //manage here comunication error 67 | 68 | response = LIS2MDL_MAG_W_InterruptGenerator(0, LIS2MDL_MAG_INT_MAG_PIN_INTERNAL_ONLY);//[AZ] 69 | if(response==MEMS_ERROR) while(1); //manage here comunication error 70 | 71 | response = LIS2MDL_MAG_W_Operating_Mode(0, LIS2MDL_MAG_MD_SINGLE_MODE); 72 | if(response==MEMS_ERROR) while(1); //manage here comunication error 73 | 74 | //main loop 75 | while(1) 76 | { 77 | //Polling on int pin driven by DRDY signal 78 | if (HAL_GPIO_ReadPin(ST_GPIO_Port, ST_Pin)) 79 | { 80 | LIS2MDL_MAG_Get_MagneticOutputs(0, MagneticField.u8bit); 81 | //Convert from LSB to Gauss 82 | magneticFieldGauss[0]=MagneticField.i16bit[0] * SENSITIVITY / 1000; 83 | magneticFieldGauss[1]=MagneticField.i16bit[1] * SENSITIVITY / 1000; 84 | magneticFieldGauss[2]=MagneticField.i16bit[2] * SENSITIVITY / 1000; 85 | 86 | response = LIS2MDL_MAG_W_Operating_Mode(0, LIS2MDL_MAG_MD_SINGLE_MODE); 87 | if(response==MEMS_ERROR) while(1); //manage here comunication error 88 | 89 | } 90 | } 91 | } // end main 92 | 93 | 94 | /******************* (C) COPYRIGHT 2017 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Mag/LIS2MDL_Driver__Example/tag/ver1.1_27-02-2017/main_LIS2MDL_example.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : main_LIS2MDL_example.c 3 | * Author : MEMS Application Team 4 | * Version : v1.0 5 | * Date : 13 October 2016 6 | * Description : LIS2MDL header driver file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2C_mems.h" 24 | #include "LIS2MDL_MAG_driver.h" 25 | 26 | /* Private typedef -----------------------------------------------------------*/ 27 | 28 | /* Private define ------------------------------------------------------------*/ 29 | #define SENSITIVITY 1.5 //mG/LSB 30 | 31 | /* Private macro -------------------------------------------------------------*/ 32 | 33 | /* Private variables ---------------------------------------------------------*/ 34 | 35 | u8_t WhoAmI; 36 | status_t response; 37 | LIS2MDL_MAG_STATUS_t value; 38 | Type3Axis16bit_U MagneticField; 39 | Type1Axis16bit_U Temperature; 40 | float magneticFieldGauss[3]; 41 | 42 | /* Extern variables ----------------------------------------------------------*/ 43 | /* Private function prototypes -----------------------------------------------*/ 44 | 45 | /* Private functions ---------------------------------------------------------*/ 46 | 47 | /******************************************************************************* 48 | * Function Name : main. 49 | * Description : Simple LIS3MDL Example. 50 | * Input : None. 51 | * Output : None. 52 | * Return : None. 53 | *******************************************************************************/ 54 | int main(void) 55 | { 56 | InitHardware(); 57 | I2C_MEMS_Init(); 58 | 59 | response = LIS2MDL_MAG_R_WhoAmI_Bits(0, &WhoAmI); 60 | if(response==MEMS_ERROR) while(1); //manage here comunication error 61 | 62 | if ( WhoAmI != LIS2MDL_MAG_WHO_AM_I_VALUE ) 63 | while(1); //manage here device not found 64 | 65 | response = LIS2MDL_MAG_W_DataRate(0, LIS2MDL_MAG_ODR_50_Hz); 66 | if(response==MEMS_ERROR) while(1); //manage here comunication error 67 | 68 | response = LIS2MDL_MAG_W_BlockDataUpdate(0, LIS2MDL_MAG_BDU_ENABLE); 69 | if(response==MEMS_ERROR) while(1); //manage here comunication error 70 | 71 | response = LIS2MDL_MAG_W_TemperatureCompensation(0, LIS2MDL_MAG_COMP_TEMP_ENABLE); 72 | if(response==MEMS_ERROR) while(1); //manage here comunication error 73 | 74 | response = LIS2MDL_MAG_W_OffsetCancellation(0, LIS2MDL_MAG_OFF_CANC_ENABLED); 75 | if(response==MEMS_ERROR) while(1); //manage here comunication error 76 | 77 | response = LIS2MDL_MAG_W_Operating_Mode(0, LIS2MDL_MAG_MD_CONTINUOUS); 78 | if(response==MEMS_ERROR) while(1); //manage here comunication error 79 | 80 | 81 | //main loop 82 | while(1) 83 | { 84 | //Read output only if new value is available 85 | response = LIS2MDL_MAG_R_STATUS_bits(0, &value); 86 | if(response==MEMS_ERROR) while(1); //manage here comunication error 87 | 88 | if (LIS2MDL_MAG_STATUS_NEW_DATA_AVAILABLE & value) 89 | { 90 | LIS2MDL_MAG_Get_MagneticOutputs(0, MagneticField.u8bit); 91 | //Convert from LSB to Gauss 92 | magneticFieldGauss[0]=MagneticField.i16bit[0] * SENSITIVITY / 1000; 93 | magneticFieldGauss[1]=MagneticField.i16bit[1] * SENSITIVITY / 1000; 94 | magneticFieldGauss[2]=MagneticField.i16bit[2] * SENSITIVITY / 1000; 95 | } 96 | } 97 | } // end main 98 | 99 | 100 | /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Mag/LIS3MDL_Driver__Example/tag/ver1.2_09-08-2016/ReadMe.txt: -------------------------------------------------------------------------------- 1 | 2 | In the folder *_driver there are the driver files of Mems Sensor (.h and .c) to be included in your project. 3 | The driver is platform independent, you need only complete the two functions for write and read from Mems Hardware Bus. 4 | 5 | The example_main.c file, is an example for how to use the Mems driver in a project. 6 | It is written for STEVAL-MKI109V1 Evaluation Board, but you can use it as a guideline for all boards. 7 | 8 | www.st.com/mems -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LIS2DS12/mcu driver/Mag/LIS3MDL_Driver__Example/tag/ver1.2_09-08-2016/main_LIS3MDL_example.c: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** 2 | * File Name : main_LIS3MDL_example.c 3 | * Author : MEMS Application Team 4 | * Version : v1.2 5 | * Date : 09 August 2016 6 | * Description : LIS3MDL header driver file 7 | * 8 | ******************************************************************************** 9 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 10 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 11 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 12 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 13 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 14 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 15 | * 16 | * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. 17 | *******************************************************************************/ 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | 21 | #include "stm32f10x.h" 22 | #include "hw_config.h" 23 | #include "i2C_mems.h" 24 | #include "LIS3MDL_MAG_driver.h" 25 | 26 | 27 | 28 | 29 | /* Private typedef -----------------------------------------------------------*/ 30 | 31 | /* Private define ------------------------------------------------------------*/ 32 | #define SENSITIVITY 1711.0 //LSB/Ga 33 | 34 | /* Private macro -------------------------------------------------------------*/ 35 | 36 | /* Private variables ---------------------------------------------------------*/ 37 | 38 | status_t response; 39 | LIS3MDL_MAG_ZYXDA_t value; 40 | Type3Axis16bit_U MagneticField; 41 | float magneticFieldGauss[3]; 42 | 43 | /* Extern variables ----------------------------------------------------------*/ 44 | /* Private function prototypes -----------------------------------------------*/ 45 | 46 | /* Private functions ---------------------------------------------------------*/ 47 | 48 | /******************************************************************************* 49 | * Function Name : main. 50 | * Description : Simple LIS3MDL Example. 51 | * Input : None. 52 | * Output : None. 53 | * Return : None. 54 | *******************************************************************************/ 55 | int main(void) 56 | { 57 | InitHardware(); 58 | I2C_MEMS_Init(); 59 | 60 | //configure device 61 | response = LIS3MDL_MAG_W_FullScale(0, LIS3MDL_MAG_FS_16Ga); 62 | if(response==MEMS_ERROR) while(1); //manage here comunication error 63 | 64 | response = LIS3MDL_MAG_W_OutputDataRate(0, LIS3MDL_MAG_DO_0_625Hz); 65 | if(response==MEMS_ERROR) while(1); //manage here comunication error 66 | 67 | response = LIS3MDL_MAG_W_BlockDataUpdate(0, LIS3MDL_MAG_BDU_ENABLE); 68 | if(response==MEMS_ERROR) while(1); //manage here comunication error 69 | 70 | response = LIS3MDL_MAG_W_OperatingModeXY(0, LIS3MDL_MAG_OM_HIGH); 71 | if(response==MEMS_ERROR) while(1); //manage here comunication error 72 | 73 | response = LIS3MDL_MAG_W_OperatingModeZ(0, LIS3MDL_MAG_OMZ_HIGH); 74 | if(response==MEMS_ERROR) while(1); //manage here comunication error 75 | 76 | response = LIS3MDL_MAG_W_SystemOperatingMode(0, LIS3MDL_MAG_MD_CONTINUOUS);; 77 | if(response==MEMS_ERROR) while(1); //manage here comunication error 78 | 79 | 80 | //main loop 81 | while(1) 82 | { 83 | //Read output only if new value is available 84 | response = LIS3MDL_MAG_R_NewXYZData(0, &value); 85 | if(response==MEMS_ERROR) while(1); //manage here comunication error 86 | 87 | if (LIS3MDL_MAG_ZYXDA_AVAILABLE==value) 88 | { 89 | LIS3MDL_MAG_Get_Magnetic(0, MagneticField.u8bit); 90 | magneticFieldGauss[0]=MagneticField.i16bit[0]*1000/SENSITIVITY; 91 | magneticFieldGauss[1]=MagneticField.i16bit[1]*1000/SENSITIVITY; 92 | magneticFieldGauss[2]=MagneticField.i16bit[2]*1000/SENSITIVITY; 93 | } 94 | } 95 | } // end main 96 | 97 | 98 | /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/ -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/LP5907_datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/LP5907_datasheet.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/Nrf51822-Package/NRF51822-PAN_v3.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/Nrf51822-Package/NRF51822-PAN_v3.0.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/Nrf51822-Package/NRF51822_PS_v3.1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/Nrf51822-Package/NRF51822_PS_v3.1.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/Nrf51822-Package/NRF51_Series_Reference_manual_v3.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/Nrf51822-Package/NRF51_Series_Reference_manual_v3.0.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/Nrf51822-Package/PCB封装/Core51822-B(1).PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/Nrf51822-Package/PCB封装/Core51822-B(1).PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/Nrf51822-Package/PCB封装/Core51822-B.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/Nrf51822-Package/PCB封装/Core51822-B.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/Nrf51822-Package/PCB封装/core51822(1).PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/Nrf51822-Package/PCB封装/core51822(1).PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/Nrf51822-Package/PCB封装/core51822.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/Nrf51822-Package/PCB封装/core51822.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/SGM2019_datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/SGM2019_datasheet.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/TP5100_datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/TP5100_datasheet.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/W25N01GVZEIG_datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/W25N01GVZEIG_datasheet.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/W25Q256JVEIQ_datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/W25Q256JVEIQ_datasheet.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/YX66915-血氧浓度模块MAX30102-190515/30102.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/YX66915-血氧浓度模块MAX30102-190515/30102.jpg -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/YX66915-血氧浓度模块MAX30102-190515/MAX30100-SCH.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/YX66915-血氧浓度模块MAX30102-190515/MAX30100-SCH.jpg -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/YX66915-血氧浓度模块MAX30102-190515/MAX30102.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/YX66915-血氧浓度模块MAX30102-190515/MAX30102.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/YX66915-血氧浓度模块MAX30102-190515/arduino/ARDUINO/RD117_ARDUINO/max30102.h: -------------------------------------------------------------------------------- 1 | /** \file max30102.h ****************************************************** 2 | * 3 | * Project: MAXREFDES117# 4 | * Filename: max30102.h 5 | * Description: This module is an embedded controller driver header file for MAX30102 6 | * 7 | * Revision History: 8 | *\n 1-18-2016 Rev 01.00 GL Initial release. 9 | *\n 10 | * 11 | * -------------------------------------------------------------------- 12 | * 13 | * This code follows the following naming conventions: 14 | * 15 | * char ch_pmod_value 16 | * char (array) s_pmod_s_string[16] 17 | * float f_pmod_value 18 | * int32_t n_pmod_value 19 | * int32_t (array) an_pmod_value[16] 20 | * int16_t w_pmod_value 21 | * int16_t (array) aw_pmod_value[16] 22 | * uint16_t uw_pmod_value 23 | * uint16_t (array) auw_pmod_value[16] 24 | * uint8_t uch_pmod_value 25 | * uint8_t (array) auch_pmod_buffer[16] 26 | * uint32_t un_pmod_value 27 | * int32_t * pn_pmod_value 28 | * 29 | * ------------------------------------------------------------------------- */ 30 | /******************************************************************************* 31 | * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved. 32 | * 33 | * Permission is hereby granted, free of charge, to any person obtaining a 34 | * copy of this software and associated documentation files (the "Software"), 35 | * to deal in the Software without restriction, including without limitation 36 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 37 | * and/or sell copies of the Software, and to permit persons to whom the 38 | * Software is furnished to do so, subject to the following conditions: 39 | * 40 | * The above copyright notice and this permission notice shall be included 41 | * in all copies or substantial portions of the Software. 42 | * 43 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 44 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 45 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 46 | * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES 47 | * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 48 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 49 | * OTHER DEALINGS IN THE SOFTWARE. 50 | * 51 | * Except as contained in this notice, the name of Maxim Integrated 52 | * Products, Inc. shall not be used except as stated in the Maxim Integrated 53 | * Products, Inc. Branding Policy. 54 | * 55 | * The mere transfer of this software does not imply any licenses 56 | * of trade secrets, proprietary technology, copyrights, patents, 57 | * trademarks, maskwork rights, or any other form of intellectual 58 | * property whatsoever. Maxim Integrated Products, Inc. retains all 59 | * ownership rights. 60 | ******************************************************************************* 61 | */ 62 | #ifndef MAX30102_H_ 63 | #define MAX30102_H_ 64 | 65 | #include 66 | #define I2C_WRITE_ADDR 0xAE 67 | #define I2C_READ_ADDR 0xAF 68 | 69 | //register addresses 70 | #define REG_INTR_STATUS_1 0x00 71 | #define REG_INTR_STATUS_2 0x01 72 | #define REG_INTR_ENABLE_1 0x02 73 | #define REG_INTR_ENABLE_2 0x03 74 | #define REG_FIFO_WR_PTR 0x04 75 | #define REG_OVF_COUNTER 0x05 76 | #define REG_FIFO_RD_PTR 0x06 77 | #define REG_FIFO_DATA 0x07 78 | #define REG_FIFO_CONFIG 0x08 79 | #define REG_MODE_CONFIG 0x09 80 | #define REG_SPO2_CONFIG 0x0A 81 | #define REG_LED1_PA 0x0C 82 | #define REG_LED2_PA 0x0D 83 | #define REG_PILOT_PA 0x10 84 | #define REG_MULTI_LED_CTRL1 0x11 85 | #define REG_MULTI_LED_CTRL2 0x12 86 | #define REG_TEMP_INTR 0x1F 87 | #define REG_TEMP_FRAC 0x20 88 | #define REG_TEMP_CONFIG 0x21 89 | #define REG_PROX_INT_THRESH 0x30 90 | #define REG_REV_ID 0xFE 91 | #define REG_PART_ID 0xFF 92 | 93 | bool maxim_max30102_init(); 94 | #if defined(ARDUINO_AVR_UNO) 95 | //Arduino Uno doesn't have enough SRAM to store 100 samples of IR led data and red led data in 32-bit format 96 | //To solve this problem, 16-bit MSB of the sampled data will be truncated. Samples become 16-bit data. 97 | bool maxim_max30102_read_fifo(uint16_t *pun_red_led, uint16_t *pun_ir_led); 98 | #else 99 | bool maxim_max30102_read_fifo(uint32_t *pun_red_led, uint32_t *pun_ir_led); 100 | #endif 101 | bool maxim_max30102_write_reg(uint8_t uch_addr, uint8_t uch_data); 102 | bool maxim_max30102_read_reg(uint8_t uch_addr, uint8_t *puch_data); 103 | bool maxim_max30102_reset(void); 104 | #endif /* MAX30102_H_ */ 105 | -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/nrf52832/nRF52832_PB_v1.7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/nrf52832/nRF52832_PB_v1.7.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/nrf52832/nRF52832_PS_v1.4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/nrf52832/nRF52832_PS_v1.4.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/nrf52832/nRF52832_Rev_1_Errata_v1.6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/nrf52832/nRF52832_Rev_1_Errata_v1.6.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/si2301cd.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/si2301cd.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/si2302cd.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/si2302cd.pdf -------------------------------------------------------------------------------- /WatchX2_PCBProject/DataSheet/调试资料包1.3inch 圆形 新款240X240 IPS SPI-4LINE AML128A1502 Shenzhen Amelin Electronic Technology Co. Ltd.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/DataSheet/调试资料包1.3inch 圆形 新款240X240 IPS SPI-4LINE AML128A1502 Shenzhen Amelin Electronic Technology Co. Ltd.rar -------------------------------------------------------------------------------- /WatchX2_PCBProject/nRF51822_Test/History/nRF51822.~(1).PcbDoc.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/nRF51822_Test/History/nRF51822.~(1).PcbDoc.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/nRF51822_Test/History/nRF51822.~(1).SchDoc.Zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/nRF51822_Test/History/nRF51822.~(1).SchDoc.Zip -------------------------------------------------------------------------------- /WatchX2_PCBProject/nRF51822_Test/nRF51822.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/nRF51822_Test/nRF51822.PcbDoc -------------------------------------------------------------------------------- /WatchX2_PCBProject/nRF51822_Test/nRF51822.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/WatchX2_PCBProject/nRF51822_Test/nRF51822.SchDoc -------------------------------------------------------------------------------- /images/1598448409502.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/images/1598448409502.jpeg -------------------------------------------------------------------------------- /images/20210418142456.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/images/20210418142456.png -------------------------------------------------------------------------------- /images/IMG_20200823_162109.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/images/IMG_20200823_162109.jpg -------------------------------------------------------------------------------- /images/IMG_20210518_153651.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/images/IMG_20210518_153651.jpg -------------------------------------------------------------------------------- /images/IMG_20210527_110230.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/images/IMG_20210527_110230.jpg -------------------------------------------------------------------------------- /images/IMG_20210527_110259.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trigger-CN/WatchX-II_Hardware/8a597c0b8532d1c61fcb1ad3877a8d35cd7fb323/images/IMG_20210527_110259.jpg --------------------------------------------------------------------------------