Compare commits

..

167 Commits

Author SHA1 Message Date
516e3e0772 changed the explodedd view image to contain colors. 2023-11-11 12:45:43 +01:00
c69ba819b5 Changed the isometric view to be consistent with RHT sensor. 2023-11-11 12:40:13 +01:00
8c45e58444 fixed logo and link in flyer. 2023-11-11 09:28:58 +01:00
Jan Mrna
c2193963c3 Removed redundant exploded view image 2023-11-10 21:32:41 +01:00
39a5610bac Regenerated pdf (new logo). Renamed exploded views images -> minor changes in readme. 2023-11-10 00:17:42 +01:00
a2878e6838 removed 3rd exploded view since it was almost the same as the first one. Changed logo on the pcb and scheamtic and regenerated 3d view. 2023-11-09 23:47:58 +01:00
793309e45e Minor edit to readme (added exploded views, and Ender 3 to printing section. Moved new logo. 2023-11-09 23:25:17 +01:00
Jan Mrna
01ba17953a Updated tests/README 2023-11-09 22:14:19 +01:00
Jan Mrna
489389ed8f Updated README 2023-11-09 22:01:41 +01:00
Jan Mrna
ac82c8a45d Removed logo submodule 2023-11-09 21:03:37 +01:00
Jan Mrna
1f6f8b8820 Changed submodule remotes to https 2023-11-09 21:01:26 +01:00
Jan Mrna
7630cb654f Cleanup: deleted fw_hal 2023-11-09 20:49:34 +01:00
Jan Mrna
0f5ae3cd73 Cleanup: deleted fw_old 2023-11-09 20:49:16 +01:00
Jan Mrna
b576d2e945 Cleanup: delete unnecessary .project file 2023-11-09 20:48:52 +01:00
Jan Mrna
89e1d06cdc Cropped sensor render image 2023-11-09 20:47:57 +01:00
Jan Mrna
a3fc6f5985 README WIP 2023-11-08 22:26:38 +01:00
Jan Mrna
7acf7ab819 Added MODBUS registers for sensor return (error) value 2022-08-15 21:08:09 +02:00
David Žaitlík
87ca42af91 Updated the registers in the documentation. 2022-07-30 20:38:17 +02:00
David Žaitlík
5df130255a Added updated logo as a submodule. Slight edits. Added watermark for preliminary version. 2022-07-25 22:33:11 +02:00
David Žaitlík
8e89f794b2 Generated pdf with mechanical dimensions. Added mechanical dimensions to the documentation. Added scheamtic to the documentation. Corrected registers and added some text to the connectors sections. 2022-07-13 10:14:06 +02:00
David Žaitlík
3eada340d0 Changed the schematic template and rearranged. Generated scheamtic pdf. 2022-07-13 10:13:02 +02:00
Jan Mrna
fcd3b61833 Updated submodules 2022-07-02 08:06:20 +02:00
Jan Mrna
4790f02163 Updated submodules remote url to veleslabs.org 2022-07-02 07:58:09 +02:00
Jan Mrna
45c6335a6b Added .veles_metadata 2022-07-01 23:08:33 +02:00
Jan Mrna
20b03acc96 Added serial number to modbus_slave_callback 2022-06-19 23:32:01 +02:00
Jan Mrna
173aeec2fc Added device class code and default value for serial 1 2022-06-19 22:54:13 +02:00
Jan Mrna
f4ee8ace45 Updated libs 2022-06-18 11:07:06 +02:00
Jan Mrna
46e7b83122 Reflected modbus register change in sensor.py 2022-06-18 11:06:41 +02:00
David Žaitlík
f7f38a3434 Updated config to hold serial number. NOT BACKWARDS COMPATIBLE. 2022-06-18 10:14:02 +02:00
David Žaitlík
0f1215b350 Changed the register order in the firmware. 2022-06-18 10:06:21 +02:00
David Žaitlík
729ef84c39 Moved the Flyer to documentation. 2022-06-17 16:37:40 +02:00
David Žaitlík
b484aee0e9 reorganised the documentation dir. 2022-06-17 16:37:02 +02:00
Jan Mrna
a4ba1c2343 reflected changes from master 2022-06-17 10:33:38 +02:00
Jan Mrna
067fc594e4 updated submodules 2022-06-17 10:32:04 +02:00
Jan Mrna
c9e7b3c85d Fixed no-return warnings 2022-06-17 10:27:23 +02:00
Jan Mrna
861046957f Added sps30 submodule 2022-06-17 09:41:02 +02:00
Jan Mrna
612ab1d3dc Added rgbled, for now still coupled with LL 2022-06-17 09:36:42 +02:00
Jan Mrna
286247f5a0 Added rgbled submodule 2022-06-17 09:25:23 +02:00
Jan Mrna
f790d3ddde Deleted old modbus files 2022-06-17 09:22:32 +02:00
Jan Mrna
256303335a Added modbus submodule 2022-06-17 09:17:42 +02:00
Jan Mrna
e564b416f9 Added scd4x library 2022-06-17 09:13:15 +02:00
Jan Mrna
390f7d1c92 WIP modbus write config register crash 2022-06-14 23:24:28 +02:00
Jan Mrna
567525cdf8 Added sgp40 lib 2022-06-14 22:48:59 +02:00
Jan Mrna
8c1421dd84 Added sgp40 submodule 2022-06-14 21:47:28 +02:00
Jan Mrna
9631a4816d Added crc8 lib 2022-06-14 21:44:14 +02:00
Jan Mrna
7960189a32 Added crc8 submodule 2022-06-14 21:18:41 +02:00
Jan Mrna
bb9075f7ba Added sht4x library 2022-06-14 21:15:22 +02:00
Jan Mrna
990e1ae908 Added device identification register 2022-06-10 16:11:00 +02:00
Jan Mrna
2a31f51494 Changed voc_index to uint32_t to fix Sensirion lib crash 2022-06-10 08:52:28 +02:00
David Žaitlík
89099da8d9 Started to work on flyer. 2022-05-29 17:28:47 +02:00
Jan Mrna
7f56487fcc Added Modbus registers to datasheet 2022-05-29 15:05:07 +02:00
Jan Mrna
6571095fd3 WIP adding modbus registers to datasheet 2022-05-29 14:29:29 +02:00
Jan Mrna
b60498f1ff Wrote Features, Descriptions, Applications sections to datasheet 2022-05-29 11:05:00 +02:00
Jan Mrna
48c49356ca Added Makefile for tex to pdf compilation 2022-05-29 09:33:50 +02:00
David Žaitlík
45006f7606 Started wotking on the datasheet. Started wirking on the drawings with dimensions and such. 2022-05-23 21:38:44 +02:00
David Žaitlík
de85f9771a Fixed the errors with UART unlocking in i2c functions. 2022-05-23 21:37:51 +02:00
David Žaitlík
4c6609fed6 Updated footprints. Removed non-resetable fuse. Added logos. Added Veles Labs Sheet templates. generated new outputs. 2022-04-28 19:58:00 +02:00
David Žaitlík
094bf9354e Started the datasheet. 2022-04-18 22:26:01 +02:00
David Žaitlík
1fcb31a680 Minor tweaks. 2022-04-18 22:25:34 +02:00
David Žaitlík
e4e376cbb5 Created enclosure for IAQ sensor with PM sensor. 2022-03-31 21:34:22 +02:00
David Žaitlík
6a669f5dad Tweaked the bottom and holder to hide the holes. 2022-03-29 21:20:05 +02:00
David Žaitlík
8e1a5f89a0 Tweaked the bottom and the holder. 2022-03-28 17:16:29 +02:00
David Žaitlík
c98b04399a Generated some TechDraw for Documentation. Created the first version of holder and remodeled top and bottom part of the enclosure. 2022-03-27 22:29:50 +02:00
David Žaitlík
2a5c923273 Generated some files for documentation. 2022-03-27 22:26:47 +02:00
mj
d386d05fb7 Re-order MODBUS registers; add Fahrenheit 2022-03-27 14:51:52 +02:00
mj
399d6ba8c5 Changed modbus registers in query python script 2022-03-27 12:54:06 +02:00
mj
3734ade16f Fixed voc ticks pointer bug 2022-03-27 12:47:58 +02:00
mj
1b18164cd1 Removed debug info 2022-03-20 13:56:44 +01:00
mj
0fed3b5376 Signed test 2022-03-20 13:55:19 +01:00
mj
5a756e47c1 Modified measure script for mass testing 2022-02-20 16:22:31 +01:00
David Žaitlík
f2ebe11354 Prolonged the waiting time for sensors initialisation 2022-02-20 16:07:53 +01:00
David Žaitlík
be3024747f Generated iBOM. 2022-02-20 10:58:23 +01:00
David Žaitlík
2a491090e6 Added SGP40 readout. 2022-02-13 15:52:50 +01:00
mj
d86713277f Added measure script 2022-01-16 19:31:41 +01:00
mj
4628aa8d20 Added broadcast reset, minor formatting changes 2022-01-16 19:20:30 +01:00
mj
45895f179e Query script fixes & updates 2022-01-12 22:02:27 +01:00
mj
12dca6c778 Changed order of arguments for query script 2022-01-12 14:03:11 +01:00
mj
053a24146b LED loft 2022-01-09 19:15:18 +01:00
mj
c9d28bd48f Fixed MODBUS slave callback when SPS30 is not connected 2022-01-09 18:46:20 +01:00
David Žaitlík
7e1e71a912 Fixed modbus default address. 2022-01-09 18:02:22 +01:00
David Žaitlík
df1a279943 Fixed some mistakes made by copyying code. 2022-01-09 17:52:55 +01:00
mj
5b8c7d6e17 Merge branch 'sps30' 2022-01-09 17:48:25 +01:00
mj
24aa4bc6f0 Enclosure with lofted LED cover 2022-01-09 17:47:36 +01:00
mj
29f702add2 SPS30 readout 2022-01-09 17:47:01 +01:00
David Žaitlík
f94dc549e7 Created library for SGP4x. 2022-01-09 16:01:48 +01:00
David Žaitlík
3ec22510d0 Generated iBOM. 2022-01-09 16:01:27 +01:00
mj
e10e7f5c31 WIP SPS30 2022-01-09 13:47:13 +01:00
mj
6ecc10c7e0 WIP SPS30 2022-01-09 13:17:29 +01:00
David Žaitlík
9cb63af5c6 Generated new step. Edited the enclosure for the new outline. Added concentric holes. 2022-01-08 17:38:37 +01:00
David Žaitlík
c88dffdb01 Updated gitignore. 2022-01-08 13:52:26 +01:00
mj
047f1f0025 Clear I2C data register on transmit failure 2022-01-02 18:19:03 +01:00
mj
ef18028fe7 WIP SHT CRC 2022-01-02 17:24:08 +01:00
mj
e6e97a2547 SCD4x CRC check 2022-01-02 16:16:47 +01:00
mj
98e6a7f93d Fixed I2C error checking and added sensor detection 2022-01-02 15:48:44 +01:00
mj
ac68334919 Changed sensor output variable types (fixed warnings) 2022-01-02 14:39:13 +01:00
mj
b21cefe412 Added watchdog 2022-01-02 14:32:44 +01:00
mj
5feb12310c Added software reset 2022-01-02 13:15:00 +01:00
mj
771fd24f93 WIP read device id test 2022-01-02 12:46:57 +01:00
mj
165c361a6b 485 fuzzer 2022-01-02 12:02:13 +01:00
mj
f1fbb9afb9 485 fuzz (random data write) test 2022-01-02 11:52:04 +01:00
David Žaitlík
f643048c17 Merge 2022-01-02 11:10:26 +01:00
David Žaitlík
54db23e948 Migrated to KiCAD. 2022-01-02 11:08:59 +01:00
mj
c9e2e8068f Added file for 485 fuzz test 2021-12-22 18:49:26 +01:00
mj
76c3716f5d Added time logging to concentrator 2021-12-22 18:40:38 +01:00
mj
6bede12d21 Fixed wrong buffer processing 2021-12-22 18:19:53 +01:00
David Žaitlík
c12042dd2d Minor changes. Regenerated gerbers. 2021-12-22 18:06:19 +01:00
David Žaitlík
dad8c8507b Smallchanges to the pcb. 2021-12-22 17:34:59 +01:00
mj
e36c06aae8 Fixed non-deterministic buffer pos increments 2021-12-22 17:18:43 +01:00
mj
0ed535bb76 Modbus read device id 2021-12-22 17:12:14 +01:00
mj
6dbbccec33 Modbus refactor 2021-12-05 16:36:41 +01:00
mj
13e1ba0ab1 Added concentrator script 2021-11-27 18:32:03 +01:00
mj
1de3c05fea WIP python scripts 2021-11-27 16:07:06 +01:00
mj
3d2dc18d34 WIP test scripts 2021-11-26 21:33:22 +01:00
mj
998740b147 Minor changes to README 2021-11-26 21:18:55 +01:00
mj
eb232eaf5a Moved old script to folder "old" 2021-11-26 21:15:24 +01:00
mj
4cf93cdc89 Added README.md for test folder 2021-11-26 21:08:30 +01:00
mj
cfb945408e Added script query_device.py 2021-11-26 20:34:32 +01:00
David Žaitlík
1bcbae877b Added SGP40 2021-11-24 22:47:00 +01:00
David Žaitlík
4e46eb1f30 Minor changes in silkscreen and testpoints. 2021-11-24 19:33:22 +01:00
mj
5185544f12 Added new search script find_device.py 2021-11-24 16:14:16 +01:00
mj
e062ab640b Added sanity check for MODBUS holding registers
Also changed default led smoothing to 1
2021-11-24 14:02:56 +01:00
David Žaitlík
86580f2185 Minor tweaks.: 2021-11-20 11:51:12 +01:00
David Žaitlík
4166c27185 Changed the PCB to 4 layers. 2021-11-20 11:46:26 +01:00
mj
3912a22467 Changed LED smooth transition to two intervals 2021-11-18 22:29:25 +01:00
mj
0061723472 Added LED intensity 2021-11-18 21:30:03 +01:00
mj
bb274d367a Linear change of LED color according to CO2 level 2021-11-18 19:56:23 +01:00
David Žaitlík
c2a67d173d Connected MODE pin of the PMICs to GND for continuous PWM operation. Minor tweaks to schematic (some components and nets were on the 0.635m
grid.
2021-11-17 21:17:15 +01:00
David Žaitlík
5f8cb1635e Changed the EEPROM end address to fit the new MCU (it is twice as big). 2021-11-17 20:58:18 +01:00
mj
555861e27c Added exception handling for MODBUS checksum error 2021-11-15 16:32:08 +01:00
David Žaitlík
c8f12ffb4a Added breakaway tabs and fiducials. 2021-11-14 14:06:21 +01:00
David Žaitlík
ee0a882c5f Moved some testpoints to the top layer and made them smaller. Minor layout change of the fuses (the components were too close to the pcb edge). Removed old iBOMs. 2021-11-14 12:05:18 +01:00
Your Name
11e7c8c124 Added error counting to measure_multiple_devices.py 2021-11-13 22:16:38 +01:00
Your Name
852de86755 Used rgbled_set_color() for CO2 value indication 2021-11-13 21:49:02 +01:00
Your Name
235ca259f1 Fixed UART interrupt disable/enable during sensor readout 2021-11-13 21:47:57 +01:00
Your Name
62cfa66b80 Removed debug infinite loop 2021-11-13 21:23:10 +01:00
Your Name
32746c111f RGB LED: improved set_color 2021-11-13 21:21:58 +01:00
Your Name
464dbc78e4 LED PWM WIP 2021-11-11 19:59:53 +01:00
Your Name
4536d4003f Basic RGB LED implementation + minor changes 2021-11-11 19:21:15 +01:00
David Žaitlík
995d6f4e57 Minor tweaks trying to get the i2c working. SCD4x still not working. 2021-11-07 11:23:52 +01:00
David Žaitlík
dc3e7c8288 Merge branch 'master' of gitlab.com:HDIoT/smart_household/wired_sensors/iaq_wired_sensor 2021-11-06 11:26:23 +01:00
David Žaitlík
9e0f2523b7 Prepared HAL FW. Started reimplementing I2C. 2021-11-06 11:26:08 +01:00
Your Name
c0c7e72401 Catch modbus checksum error exception 2021-11-04 19:11:05 +01:00
Your Name
f45fca91fb Fixed uart interrupt enable/disable 2021-11-04 19:02:42 +01:00
Your Name
3ff1369352 Fixed reversed interrupt enable/disable in sensor readout 2021-11-04 18:23:21 +01:00
David Žaitlík
94b6d6eada Changed revision in silkscreen (Ordered boards are with a mistake - rev.1) 2021-10-30 21:23:52 +02:00
David Žaitlík
8382658a42 Redesigned with RS485 transceiver in SOIC8 package. 2021-10-30 21:22:20 +02:00
dooku
33b6d3a692 Fixed missing tab 2021-10-24 20:13:13 +02:00
dooku
22a5f735b3 Fixed minor test script bugs 2021-10-24 20:02:32 +02:00
David Žaitlík
bb3b6ada06 Moved the old firmware for STM32L011 to fw_old and migrated the firmware to STM32L031 in fw. I2C and TIM21 seem functional. USART2 is receiving correctly, but the modbus test is not receiving messages. 2021-10-21 22:45:22 +02:00
David Žaitlík
8445a1100c Generated iBOM. 2021-10-21 20:15:56 +02:00
Duke NUCem
d387caecad Added measurement script for multiple devices 2021-10-20 20:38:37 +02:00
Duke NUCem
a5c9eb180d Added baud sweep to find_address.py 2021-10-20 20:04:49 +02:00
Duke NUCem
8776a84678 Added script for MODBUS device search 2021-10-20 19:55:25 +02:00
Duke NUCem
a290f52d4d Disable UART IRQs during sensor readout 2021-10-20 18:14:13 +02:00
Duke NUCem
3abe7568b0 Added measurement script 2021-10-11 20:17:45 +02:00
Duke NUCem
78c8104a58 Added sanity check to CO2 (must be more that 0 :D) 2021-10-11 20:06:27 +02:00
Duke NUCem
a87afdf6fa EEPROM config functional 2021-10-11 19:09:06 +02:00
Duke NUCem
d26079f722 Baudrate change done 2021-10-11 19:01:47 +02:00
Duke NUCem
33e70f5baf MODBUS write multiple registers done 2021-10-11 18:12:43 +02:00
Duke NUCem
0bfc93d3ea WIP write multiple registers 2021-10-11 17:05:54 +02:00
Duke NUCem
12cd3df5a3 Renamed test scripts 2021-10-10 12:41:22 +02:00
Duke NUCem
692cad0bc8 Deleted redundant switch case (MODBUS write single and multiple register) 2021-10-10 12:30:39 +02:00
Duke NUCem
e2f8ab3405 WIP modbus write 2021-10-10 12:12:39 +02:00
Duke NUCem
051509155e WIP modbus write 2021-10-10 11:35:14 +02:00
dooku
917886820d WIP holding register write 2021-10-06 20:20:51 +02:00
dooku
15bc1943ef Fixed EEPROM baudrate readout 2021-10-06 19:27:54 +02:00
dooku
b09de011c1 Moved baudrates to config 2021-10-06 18:26:33 +02:00
146 changed files with 325622 additions and 434674 deletions

17
.gitignore vendored
View File

@ -37,3 +37,20 @@ fp-info-cache
fw/Debug
fw/.settings
*.zip
tests/__pycache__/
# FreeCAD ignores
*.FCStd1
# TeX(maker) ignores
*.aux
*.lof
*.log
*.lot
*.synctex.gz
*.gz
*.toc

21
.gitmodules vendored Normal file
View File

@ -0,0 +1,21 @@
[submodule "fw/Libs/sht4x"]
path = fw/Libs/sht4x
url = https://gitea.veleslabs.org/veles_labs/sht4x.git
[submodule "fw/Libs/crc8"]
path = fw/Libs/crc8
url = https://gitea.veleslabs.org/veles_labs/crc8.git
[submodule "fw/Libs/sgp40"]
path = fw/Libs/sgp40
url = https://gitea.veleslabs.org/veles_labs/sgp40.git
[submodule "fw/Libs/scd4x"]
path = fw/Libs/scd4x
url = https://gitea.veleslabs.org/veles_labs/scd4x.git
[submodule "fw/Libs/modbus"]
path = fw/Libs/modbus
url = https://gitea.veleslabs.org/veles_labs/modbus.git
[submodule "fw/Libs/rgbled"]
path = fw/Libs/rgbled
url = https://gitea.veleslabs.org/veles_labs/rgbled.git
[submodule "fw/Libs/sps30"]
path = fw/Libs/sps30
url = https://gitea.veleslabs.org/veles_labs/sps30.git

View File

@ -1,3 +1,3 @@
{
"group": "smart_household",
"group": "smart_household",
}

Binary file not shown.

View File

@ -0,0 +1,347 @@
\documentclass[12pt,oneside,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{fancyhdr}
\usepackage{graphics}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{multicol}
\usepackage{capt-of}
\usepackage[table]{xcolor}
\usepackage{pdfpages}
\usepackage{hyperref} % for internal section links
% ONLY FOR DRAFT
\usepackage{draftwatermark}
\SetWatermarkText{PRELIMINARY}
\SetWatermarkScale{3}
% ONLY FOR TEMPLATE
\usepackage{blindtext}
%
% Sensor name definition
%
\newcommand{\sensor}{IAQ01}
\pagestyle{fancy}
\fancyhf{}
%\fancyhead[LE,LO]{\includegraphics[scale=0.075]{./fig/VelesLabsLogo.png}}
%\fancyhead[RE,RO]{\sensor{}\\DATASHEET v. 1.0}
%\fancyfoot[LE,LO]{\leftmark}
%\fancyfoot[RE,RO]{\thepage}
\fancyhead[LO]{\includegraphics[height=1.0cm]{./fig/veleslabs_logo.png}}
\fancyhead[RO]{\sensor{}\\DATASHEET v. 1.0}
\fancyfoot[LO]{\leftmark}
\fancyfoot[RO]{\thepage}
\renewcommand{\headrulewidth}{2pt}
\renewcommand{\footrulewidth}{2pt}
\setlength{\headheight}{35pt}
\begin{document}
% TITLE PAGE
\begin{multicols*}{2}
\begin{center}
\includegraphics[width=0.45\textwidth]{./fig/iaq_wired_sensor.png}
\end{center}
\section*{Features}
\begin{itemize}
\setlength\itemsep{0cm}
\item Measures all important indoor air quality values: $\mathrm{CO_2}$, T, RH, VOC
\item Communicates via Modbus RTU (RS-485)
\item Wide input voltage range 5 - 30V
\item Indicates $\mathrm{CO_2}$ (carbon dioxide) level using LED for quick air quality assesment
\item Easy to setup using Raspberry Pi and open-source Veles Sensors python library
\item Carbon dioxide measurement range 0 - 40000 ppm
\item Temperature range -40 - 125 °C
\item Relative humidity range 0 - 100 \%
\item VOC (volatile organic compounds) index range 1 - 500 VOC index points
\item Fully opensource
\end{itemize}
\vfill
\section*{Description}
\sensor{} is a wired indoor air quality sensor measuring temperature, relative humidity, carbon dioxide, and volatile organic compounds. Communication over RS-485 using Modbus RTU protocol makes it easy to interface with the sensor using PLC or any PC with RS-485 to USB converter. Open-source Python libraries are available to ease sensor configuration and readout using PC and embedded computers (e.g. Raspberry Pi).\\
\\
On-board RGB LED enables the user to quickly assess air quality with a single glance. Two quality-to-color schemes are available: continuous color change and tri-state (semaphore) mode. The thresholds for color change are user-configurable.\\
\\
A wide input voltage range makes it possible to integrate the sensor with many different systems, ranging from house-wide 12V bus to 5V USB connected to a local computer.\\
\\
The extended version of this sensor \sensor{}-PM adds the option of particulate matter (dust) measurement.\\
\\
Fully open-source ecosystem: sensor hardware, case, firmware, and connected Python libraries are open-sourced under permissive licensing.\\
%\\
%Can be used in many applications such as monitoring of home and office spaces, ventilation control or for smart greenhouse applications.
\end{multicols*}
\vfill
\pagebreak
\tableofcontents
\listoffigures
\listoftables
\pagebreak
\section{Specifications}
\subsection{Electrical Specifications}
\begin{table}[h]
\scriptsize
\begin{tabular}{|p{5cm}|p{2cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|}
\hline
\rowcolor{lightgray}\textbf{Parameter} & \textbf{Symbol} & \textbf{Min.} & \textbf{Typ.} & \textbf{Max.} & \textbf{Unit} \\ \hline
Input voltage & $\mathrm{V_{DD}}$ & 5 & 12 & 24 & V \\ \hline
Average supply current & $\mathrm{I_{DD}}$ & & & 50 & mA \\ \hline
RS485 Single-Ended Output High & $\mathrm{V_{OH}}$ & 2.2 & & & V \\ \hline
RS485 Single-Ended Output Low & $\mathrm{V_{OL}}$ & & & 0.8 & V \\ \hline
RS485 Differential Output & $\mathrm{V_{OD}}$ & 2.0 & & & V \\ \hline
RS485 Receiver Differential Threshold Voltage & $\mathrm{V_{TH}}$ & -200 & -105 & -10 & mV \\ \hline
\end{tabular}
\normalsize
\caption{Electrical Specifications}
\label{tab:specifications_electrical}
\end{table}
\vfill
\subsection{Sensing Specifications}
\begin{table}[h]
\scriptsize
\begin{tabular}{|p{5cm}|p{3cm}|p{4.25cm}|}
\hline
\rowcolor{lightgray}\textbf{Parameter} & \textbf{Conditions} & \textbf{Value} \\ \hline
CO$_2$ measurement range & \multicolumn{1}{c|}{-} & 0 $\div$ 40000 ppm \\ \hline
CO$_2$ measurement accuracy & 400 ppm 2000 ppm & ($\pm$50 ppm + 5\% of reading) \\ \hline
CO$_2$ measurement repeatability & Typical & $\pm$10 ppm \\ \hline
T measurement range & \multicolumn{1}{c|}{-} & 40 $\div$ +125 $^{\circ}$C \\ \hline
T measurement accuracy & Typical & $\pm$0.2 $^{\circ}$C \\ \hline
T measurement repeatability & Typical & $\pm$0.2 $^{\circ}$C \\ \hline
RH measurement range & \multicolumn{1}{c|}{-} & 0 $\div$ 100 \%RH \\ \hline
RH measurement accuracy & Typical & $\pm$1.8 \%RH \\ \hline
RH measurement repeatability & \multicolumn{1}{c|}{-} & $\pm$0.08 \%RH \\ \hline
\end{tabular}
\normalsize
\caption{Sensing Specifications}
\label{tab:specifications_sensing}
\end{table}
\vfill
\subsection{Interface Specifications}
\begin{table}[h]
\scriptsize
\begin{tabular}{|p{3.75cm}|p{9cm}|}
\hline
\rowcolor{lightgray}\textbf{Parameter} & \textbf{Value} \\ \hline
Used Protocol & Modbus RTU \\ \hline
Default Baudrate & 19200 Baud \\ \hline
Usable Baudrates & 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 119200 Baud \\ \hline
Data Bytes & 8 \\ \hline
Parity & Even \\ \hline
Stop Bits & 1 \\ \hline
\end{tabular}
\normalsize
\caption{Sensing Specifications}
\label{tab:specifications_interface}
\end{table}
\vfill
\pagebreak
\subsection{Connectors Pinout}
\subsubsection{Main Connector Pinout}
The main connector is the Sullins Connector Solutions SWR204-NRTN-D02-RA-GA connector. The matching connector for the cable is SWH204-NULN-D02-UU-WH with SWT204-UPTN-S01-UU-UU crimping pins.\\
The pinout can be seen in figure \ref{fig:connector_pinout} and table \ref{tab:connector_pinout}.
\begin{figure}[h]
\begin{minipage}[c]{0.5\linewidth}
\centering
\includegraphics[width=0.5\textwidth]{./fig/connector_pins.png}
\caption{Main Connector Pinout}
\label{fig:connector_pinout}
\end{minipage}
\begin{minipage}[c]{0.5\linewidth}
\centering
\scriptsize
\begin{tabular}{|p{0.75cm}|p{1.25cm}|p{3cm}|}
\hline
\rowcolor{lightgray}\textbf{Pin} & \textbf{Name} & \textbf{Description} \\ \hline
1 & VDD & Supply Voltage \\ \hline
2 & A & RS485 A+ \\ \hline
3 & B & RS485 B- \\ \hline
4 & GND & Ground \\ \hline
\end{tabular}
\captionof{table}{Main Connector Pinout}
\label{tab:connector_pinout}
\end{minipage}
\end{figure}
\subsubsection{Programming Connector Pinout}
The sensor can be programmed through the Serial Wire Debug (SWD) interface using an ST-Link. ST-Link can be connected to the sensor using pads for spring-loaded pins in the bottom layer of the PCB.
The pinout can be seen in table \ref{tab:swd_connector_pinout}. The first pin of the connector is marked with a square pad.
\begin{table}[h]
\scriptsize
\centering
\begin{tabular}{|p{0.75cm}|p{1.55cm}|p{3cm}|}
\hline
\rowcolor{lightgray} \textbf{Pin} & \textbf{Name} & \textbf{Description} \\ \hline
1 & 3V3 & 3.3V Sensing \\ \hline
2 & GND & Ground \\ \hline
3 & SWDIO & SWD Data \\ \hline
4 & SWCLK & SWD Clock \\ \hline
5 & NRST & MCU Reset \\ \hline
\end{tabular}
\caption{Programming Connector Pinout}
\label{tab:swd_connector_pinout}
\end{table}
\section{Communication Specification}
For the physical layer, RS-485 is used. This allows the communication to be robust and resistant to EMI (electro-magnetic interference). On top of the physical layer, Modbus RTU is used as a data link layer. This protocol is widely supported by the number of PLCs and other devices. To interface with a PC (or any computer with a USB port), a USB to RS485 converter may be used in conjunction with the Veles Sensors python library.
\subsection{Physical Layer - RS485}
RS-485 is a full-duplex serial bus, ideally suited for low-speed, noise-resistant communication over long distances (up to 1200 m - more if repeaters are used). Linear bus topology is preferable over star or ring configurations. To prevent signal reflections, each sensor is equipped with a 120 $\Omega$ termination resistor. Therefore, the optimal cable for connecting sensors to each other and to the master node is a twisted pair cable with 120 $\Omega$ characteristic impedance.
\subsection{Data Link Layer - Modbus RTU}
Modbus is a well-tested, openly-published, and royalty-free data communications protocol. Developed for industrial applications, it aims to be simple and robust. It is a client/server (master/slave) type protocol. The maximum number of client nodes on a Modbus bus is 247.
A limitation of Modbus-based buses is that there is no arbitration in case of address conflict. This means that nodes should be either added one by one or node addresses should be configured beforehand.
Address 0 can be used as a broadcast message (e.g. instructing all sensors to turn off LED). No slave response is generated.
\subsubsection{Modbus register space}
Modbus supports four types of registers:
\begin{table}[h]
\scriptsize
\centering
\begin{tabular}{|p{3cm}|p{3cm}|p{3cm}|p{3cm}|}
\hline
\rowcolor{lightgray} \textbf{Object type} & \textbf{Access} & \textbf{Size} & \textbf{Address space} \\ \hline
Coil & read / write & 1 bit & 00001 - 09999 \\ \hline
Discrete input & read & 1 bit & 10001 - 19999 \\ \hline
Input register & read & 16 bits & 30001 - 39999 \\ \hline
Holding register & read / write & 16-bits & 40001 - 49999 \\ \hline
\end{tabular}
\caption{Modbus register space}
\label{tab:modbus_register_space}
\end{table}
\vfill
\pagebreak
\subsection{\sensor{} Modbus registers}
\subsubsection{Input registers}
Input registers contain measured values. They are read-only and 16-bit in size.
\begin{table}[h]
\scriptsize
\centering
\begin{tabular}{|p{4cm}|p{2.5cm}|p{2cm}|p{3.6cm}|}
\hline
\rowcolor{lightgray} \textbf{Register name} & \textbf{Register address} & \textbf{Unit} & \textbf{Note} \\ \hline
Serial Number HI & 30001 & - & \\ \hline
Serial Number LO & 30002 & - & \\ \hline
Temperature & 30003 & °C & \\ \hline
Temperature & 30004 & °F & \\ \hline
Relative humidity & 30005 & \% & \\ \hline
$\mathrm{CO_2}$ concentration & 30006 & ppm & \\ \hline
VOC index & 30007 & VOC index & see \hyperref[inputReg:note1]{Note 1} \\ \hline
VOC ticks & 30008 & raw VOC ticks & raw value from VOC sensor \\ \hline
PMC Mass 1.0 & 30009 & $\mu$g/m$^3$ & if connected \\ \hline
PMC Mass 2.5 & 30010 & $\mu$g/m$^3$ & if connected \\ \hline
PMC Mass 4.0 & 30011 & $\mu$g/m$^3$ & if connected \\ \hline
PMC Mass 10.0 & 30012 & $\mu$g/m$^3$ & if connected \\ \hline
PMC Number 0.5 & 30013 & \#/cm$^3$ & if connected \\ \hline
PMC Number 1.0 & 30014 & \#/cm$^3$ & if connected \\ \hline
PMC Number 2.5 & 30015 & \#/cm$^3$ & if connected \\ \hline
PMC Number 4.0 & 30016 & \#/cm$^3$ & if connected\\ \hline
PMC Number 10.0 & 30017 & \#/cm$^3$ & if connected \\ \hline
PMC Typical Particle Size & 30018 & nm & if connected \\ \hline
Temperature Readout Error & 30019 & - & see \hyperref[inputReg:note2]{Note 2}\\ \hline
RH Readout Error & 30020 & - & see \hyperref[inputReg:note2]{Note 2}\\ \hline
$\mathrm{CO_2}$ Readout Error & 30021 & - & see \hyperref[inputReg:note2]{Note 2}\\ \hline
VOC Readout Error & 30022 & - & see \hyperref[inputReg:note2]{Note 2}\\ \hline
PMC Readout Error & 30023 & - & see \hyperref[inputReg:note2]{Note 2}\\ \hline
\end{tabular}
\caption{Modbus input registers for \sensor{}}
\label{tab:modbus_input_registers}
\end{table}
\paragraph{Note 1}
\label{inputReg:note1}
The VOC index has a range of 1-500 with 100 being the average. After sensor start-up, the VOC index is 0 until a sufficient amount of data has been measured.
\paragraph{Note 2}
\label{inputReg:note2}
The error codes are described in table \ref{tab:sensor_errors}.
\begin{table}[h]
\scriptsize
\centering
\begin{tabular}{|p{1cm}|p{6cm}|}
\hline
\rowcolor{lightgray} \textbf{Error Code} & \textbf{Error Description} \\ \hline
0 & OK \\ \hline
-1 & Communication with the sensor failed \\ \hline
-2 & Data CRC Check failed \\ \hline
\end{tabular}
\caption{Error codes of measured values }
\label{tab:sensor_errors}
\end{table}
\subsubsection{Holding registers}
The holding registers can be written to by the master node. Sensor \sensor{} offers the following configuration registers:
\begin{table}[h]
\scriptsize
\centering
\begin{tabular}{|p{4cm}|p{2cm}|p{6.5cm}|}
\hline
\rowcolor{lightgray} \textbf{Register name} & \textbf{Address} & \textbf{Note} \\ \hline
Device Modbus address & 40001 & see \hyperref[holdingReg:note2]{Note 4} \\ \hline
Modbus baudrate & 40002 & see \hyperref[holdingReg:note2]{Note 5} \\ \hline
LED on & 40003 & set to 0 to turn off LED; set to 1 to turn LED on \\ \hline
LED brightness & 40004 & range from 0 (off) to 100 (full intensity) \\ \hline
LED smooth & 40005 & see \hyperref[holdingReg:note1]{Note 1} \\ \hline
$\mathrm{CO_2}$ alert limit 1 & 40006 & see \hyperref[holdingReg:note2]{Note 2} \\ \hline
$\mathrm{CO_2}$ alert limit 2 & 40007 & see \hyperref[holdingReg:note2]{Note 2} \\ \hline
$\mathrm{CO_2}$ temperature offset & 40008 & see \hyperref[holdingReg:note2]{Note 3} \\ \hline
Reset device & 49999 & see \hyperref[holdingReg:note2]{Note 6} \\ \hline
\end{tabular}
\caption{Modbus holding registers for \sensor{}}
\label{tab:modbus_holding_registers}
\end{table}
\paragraph{Note 1}
\label{holdingReg:note1}
Setting LED smooth register to 1 will turn on LED color interpolation, meaning the LED will have color in a continuous spectrum from green to red according to the $\mathrm{CO_2}$ level. Setting this register to 0 will turn off interpolation and set the LED to semaphore (tri-state) mode. Depending on $\mathrm{CO_2}$ level, the LED color will then be either green, yellow, or red.
\paragraph{Note 2}
\label{holdingReg:note2}
Registers $\mathrm{CO_2}$ alert the limit 1 and 2 set thresholds for LED color change (see \hyperref[holdingReg:note1]{Note 1}). Limit 1 is the threshold between green and yellow color; limit 2 is the threshold between yellow and red color.
\paragraph{Note 3}
\label{holdingReg:note3}
SCD41 is the $\mathrm{CO_2}$ sensing device used in the \sensor{} sensor. It is also able to measure temperature, however it may be subject to offset due to internal heating of SCD41. This register allows the user to compensate for this offset.
\paragraph{Note 4}
\label{holdingReg:note4}
Device Modbus address may be changed by writing to this register. The allowed values are in the range of 1 to 247. The device will start using a new address immediately and cease to respond at the previous address. Reset is not needed. It is the responsibility of the user to prevent address collisions on a bus.
\paragraph{Note 5}
\label{holdingReg:note5}
Modbus baudrate in bits/s. May be one of: 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200. Please be aware that lower baudrates are more reliable for long distance communication.
\paragraph{Note 6}
\label{holdingReg:note6}
Writing the magic constant 0xABCD to this device will instruct the device to soft-reset.
\vfill
\pagebreak
\section{Mechanical Dimesions}
%\includepdf[scale=.7]{./fig/IAQ_Sensor_Enclosure-Enclosure_TOP.pdf}
\includegraphics[width=0.95\textwidth]{./fig/IAQ_Sensor_Enclosure-Enclosure_TOP.pdf}
\pagebreak
\section{Schematic}
\includegraphics[angle=90,origin=c,width=0.95\textwidth]{./../../PCB/Project_Outputs/Schematic/iaq_wired_sensor.pdf}
\end{document}

View File

@ -0,0 +1,6 @@
FILE=IAQ_Wired_Sensor_Datasheet
all:
texi2pdf $(FILE).tex
rm *aux *log *lof *lot *toc
mupdf $(FILE).pdf

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

4176
Enclosure/PDFs/fron_view.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Enclosure/STLs/Top_rev1.stl Normal file

Binary file not shown.

BIN
Enclosure/STLs/Top_rev3.stl Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,29 +1,70 @@
%TF.GenerationSoftware,KiCad,Pcbnew,5.1.5+dfsg1-2build2*%
%TF.CreationDate,2021-09-23T19:28:15+02:00*%
%TF.ProjectId,iaq_wired_sensor,6961715f-7769-4726-9564-5f73656e736f,rev?*%
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
%TF.CreationDate,2022-04-28T19:55:52+02:00*%
%TF.ProjectId,iaq_wired_sensor,6961715f-7769-4726-9564-5f73656e736f,1*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Soldermask,Bot*%
%TF.FilePolarity,Negative*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.1.5+dfsg1-2build2) date 2021-09-23 19:28:15*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-04-28 19:55:52*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,2.000000*%
%ADD11C,1.500000*%
%ADD12O,1.700000X1.700000*%
%ADD13R,1.700000X1.700000*%
%ADD10C,1.500000*%
%ADD11C,0.500000*%
%ADD12R,1.700000X1.700000*%
%ADD13O,1.700000X1.700000*%
%ADD14C,2.000000*%
G04 APERTURE END LIST*
D10*
%TO.C,TP12*%
X95500000Y-116500000D03*
%TO.C,J1*%
X99000000Y-115500000D03*
X99000000Y-113500000D03*
X101000000Y-113500000D03*
X101000000Y-115500000D03*
%TD*%
%TO.C,TP3*%
X85000000Y-103500000D03*
D11*
%TO.C,H3*%
X100000000Y-77500000D03*
X98000000Y-77500000D03*
X99000000Y-77500000D03*
X102000000Y-77500000D03*
X101000000Y-77500000D03*
%TD*%
%TO.C,TP2*%
X92500000Y-92500000D03*
%TO.C,H4*%
X100000000Y-122500000D03*
X99000000Y-122500000D03*
X102000000Y-122500000D03*
X101000000Y-122500000D03*
X98000000Y-122500000D03*
%TD*%
%TO.C,H5*%
X122500000Y-100000000D03*
X122500000Y-101000000D03*
X122500000Y-99000000D03*
X122500000Y-98000000D03*
X122500000Y-102000000D03*
%TD*%
%TO.C,H6*%
X77500000Y-102000000D03*
X77500000Y-98000000D03*
X77500000Y-99000000D03*
X77500000Y-101000000D03*
X77500000Y-100000000D03*
%TD*%
D12*
%TO.C,SWD0*%
X100000000Y-105080000D03*
D13*
X100000000Y-102540000D03*
X100000000Y-100000000D03*
X100000000Y-97460000D03*
X100000000Y-94920000D03*
%TD*%
D14*
%TO.C,TP9*%
X104000000Y-105000000D03*
%TD*%
%TO.C,TP11*%
X104500000Y-116500000D03*
@ -31,42 +72,16 @@ X104500000Y-116500000D03*
%TO.C,TP10*%
X96000000Y-87000000D03*
%TD*%
%TO.C,TP9*%
X104000000Y-105000000D03*
%TO.C,TP12*%
X95500000Y-116500000D03*
%TD*%
%TO.C,TP8*%
X91000000Y-118000000D03*
%TD*%
%TO.C,TP7*%
X102000000Y-111500000D03*
%TD*%
%TO.C,TP6*%
X98000000Y-111500000D03*
%TD*%
%TO.C,TP5*%
X85000000Y-96500000D03*
%TD*%
%TO.C,TP4*%
X85000000Y-100000000D03*
%TD*%
%TO.C,TP1*%
X88000000Y-92500000D03*
%TD*%
D11*
%TO.C,J1*%
X99000000Y-115750000D03*
X99000000Y-113750000D03*
X101000000Y-113750000D03*
X101000000Y-115750000D03*
%TD*%
D12*
%TO.C,SWD0*%
X100000000Y-97460000D03*
X100000000Y-102540000D03*
D13*
X100000000Y-105080000D03*
D12*
X100000000Y-100000000D03*
X100000000Y-94920000D03*
%TO.C,TP7*%
X102000000Y-111500000D03*
%TD*%
M02*

View File

@ -1,14 +1,15 @@
%TF.GenerationSoftware,KiCad,Pcbnew,5.1.5+dfsg1-2build2*%
%TF.CreationDate,2021-09-23T19:28:15+02:00*%
%TF.ProjectId,iaq_wired_sensor,6961715f-7769-4726-9564-5f73656e736f,rev?*%
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
%TF.CreationDate,2022-04-28T19:55:52+02:00*%
%TF.ProjectId,iaq_wired_sensor,6961715f-7769-4726-9564-5f73656e736f,1*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.1.5+dfsg1-2build2) date 2021-09-23 19:28:15*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-04-28 19:55:52*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,153 +1,172 @@
%TF.GenerationSoftware,KiCad,Pcbnew,5.1.5+dfsg1-2build2*%
%TF.CreationDate,2021-09-23T19:28:15+02:00*%
%TF.ProjectId,iaq_wired_sensor,6961715f-7769-4726-9564-5f73656e736f,rev?*%
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
%TF.CreationDate,2022-04-28T19:55:52+02:00*%
%TF.ProjectId,iaq_wired_sensor,6961715f-7769-4726-9564-5f73656e736f,1*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Profile,NP*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.1.5+dfsg1-2build2) date 2021-09-23 19:28:15*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-04-28 19:55:52*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%TA.AperFunction,Profile*%
%ADD10C,0.050000*%
%TD*%
G04 APERTURE END LIST*
D10*
X111750000Y-85500000D02*
X118000000Y-85500000D01*
X120000000Y-89500000D02*
G75*
G03*
X118000000Y-89500000I-1000000J0D01*
G01*
X77500000Y-80000000D02*
X77500000Y-120000000D01*
X80000000Y-77500000D02*
G75*
G03*
X77500000Y-80000000I0J-2500000D01*
G01*
X82100000Y-80500000D02*
G75*
G03*
X82100000Y-80500000I-1600000J0D01*
G01*
X81000000Y-77500000D02*
X80000000Y-77500000D01*
X122500000Y-80000000D02*
G75*
G03*
X120000000Y-77500000I-2500000J0D01*
G01*
X121100000Y-80500000D02*
G75*
G03*
X121100000Y-80500000I-1600000J0D01*
G01*
X85000000Y-81500000D02*
X94000000Y-81500000D01*
X97000000Y-77500000D02*
X120000000Y-77500000D01*
X83500000Y-80000000D02*
G75*
G03*
X81000000Y-77500000I-2500000J0D01*
G01*
X97000000Y-77500000D02*
G75*
G03*
X95500000Y-79000000I0J-1500000D01*
G01*
X95500000Y-79000000D02*
X95500000Y-80000000D01*
X122500000Y-81000000D02*
X122500000Y-80000000D01*
X119000000Y-83500000D02*
X108000000Y-83500000D01*
X118000000Y-85500000D02*
G75*
G03*
X120000000Y-85500000I1000000J0D01*
G01*
X120000000Y-85500000D02*
X120000000Y-84500000D01*
X119000000Y-91500000D02*
G75*
G03*
X120000000Y-90500000I0J1000000D01*
G01*
X107000000Y-105000000D02*
G75*
G03*
X109000000Y-105000000I1000000J0D01*
G01*
X109000000Y-105000000D02*
X109000000Y-96500000D01*
X107000000Y-102000000D02*
X107000000Y-105000000D01*
X109000000Y-118500000D02*
G75*
G03*
X107000000Y-118500000I-1000000J0D01*
G01*
X109000000Y-122500000D02*
X109000000Y-118500000D01*
X107000000Y-118500000D02*
X107000000Y-122500000D01*
X109000000Y-122500000D02*
X120000000Y-122500000D01*
X110000000Y-95500000D02*
X117000000Y-95500000D01*
X117000000Y-95500000D02*
G75*
G03*
X118000000Y-94500000I0J1000000D01*
G01*
X118000000Y-92500000D02*
X118000000Y-94500000D01*
X110000000Y-95500000D02*
G75*
G03X109000000Y-96500000I0J-1000000D01*
G03*
X109000000Y-96500000I0J-1000000D01*
G01*
X118000000Y-94500000D02*
X120000000Y-84500000D02*
G75*
G02X117000000Y-95500000I-1000000J0D01*
G01*
X118000000Y-92500000D02*
G75*
G02X119000000Y-91500000I1000000J0D01*
G01*
X110000000Y-95500000D02*
X117000000Y-95500000D01*
X109000000Y-122500000D02*
X120000000Y-122500000D01*
X107000000Y-118500000D02*
X107000000Y-122500000D01*
X109000000Y-122500000D02*
X109000000Y-118500000D01*
X107000000Y-118500000D02*
G75*
G02X109000000Y-118500000I1000000J0D01*
G01*
X107000000Y-102000000D02*
X107000000Y-110000000D01*
X109000000Y-110000000D02*
X109000000Y-96500000D01*
X109000000Y-110000000D02*
G75*
G02X107000000Y-110000000I-1000000J0D01*
G01*
X120000000Y-90500000D02*
X120000000Y-89500000D01*
X120000000Y-90500000D02*
G75*
G02X119000000Y-91500000I-1000000J0D01*
G01*
X118000000Y-89500000D02*
G75*
G02X120000000Y-89500000I1000000J0D01*
G01*
X120000000Y-85500000D02*
G75*
G02X118000000Y-85500000I-1000000J0D01*
G01*
X120000000Y-85500000D02*
X121500000Y-85500000D01*
X120000000Y-83500000D02*
X108000000Y-83500000D01*
X122500000Y-81000000D02*
X122500000Y-80000000D01*
X122500000Y-81000000D02*
G75*
G02X120000000Y-83500000I-2500000J0D01*
G01*
X95500000Y-79000000D02*
X95500000Y-80000000D01*
X95500000Y-79000000D02*
G75*
G02X97000000Y-77500000I1500000J0D01*
G01*
X94000000Y-81500000D02*
G75*
G03X95500000Y-80000000I0J1500000D01*
G01*
X85000000Y-81500000D02*
G75*
G02X83500000Y-80000000I0J1500000D01*
G01*
X81000000Y-77500000D02*
G75*
G02X83500000Y-80000000I0J-2500000D01*
G01*
X121500000Y-85500000D02*
G75*
G02X122500000Y-86500000I0J-1000000D01*
G01*
X107000000Y-84500000D02*
G75*
G02X108000000Y-83500000I1000000J0D01*
G01*
X97000000Y-77500000D02*
X120000000Y-77500000D01*
X85000000Y-81500000D02*
X94000000Y-81500000D01*
X121100000Y-80500000D02*
G75*
G03X121100000Y-80500000I-1600000J0D01*
G01*
X121100000Y-119500000D02*
G75*
G03X121100000Y-119500000I-1600000J0D01*
G03*
X119000000Y-83500000I-1000000J0D01*
G01*
X82100000Y-119500000D02*
G75*
G03X82100000Y-119500000I-1600000J0D01*
G03*
X82100000Y-119500000I-1600000J0D01*
G01*
X120000000Y-77500000D02*
G75*
G02X122500000Y-80000000I0J-2500000D01*
G01*
X81000000Y-77500000D02*
X80000000Y-77500000D01*
X122500000Y-120000000D02*
G75*
G02X120000000Y-122500000I-2500000J0D01*
G01*
X122500000Y-120000000D02*
X122500000Y-86500000D01*
X80000000Y-122500000D02*
G75*
G02X77500000Y-120000000I0J2500000D01*
G01*
X80000000Y-122500000D02*
X107000000Y-122500000D01*
X82100000Y-80500000D02*
G75*
G03X82100000Y-80500000I-1600000J0D01*
G01*
X77500000Y-80000000D02*
G75*
G02X80000000Y-77500000I2500000J0D01*
G01*
X77500000Y-80000000D02*
X77500000Y-120000000D01*
X107000000Y-102000000D02*
X107000000Y-84500000D01*
X111750000Y-85500000D02*
X118000000Y-85500000D01*
X111750000Y-89500000D02*
X111750000Y-85500000D01*
X118000000Y-89500000D02*
X111750000Y-89500000D01*
X120000000Y-90500000D02*
X120000000Y-89500000D01*
X111750000Y-89500000D02*
X111750000Y-85500000D01*
X80000000Y-122500000D02*
X107000000Y-122500000D01*
X94000000Y-81500000D02*
G75*
G03*
X95500000Y-80000000I0J1500000D01*
G01*
X121100000Y-119500000D02*
G75*
G03*
X121100000Y-119500000I-1600000J0D01*
G01*
X122500000Y-120000000D02*
X122500000Y-81000000D01*
X108000000Y-83500000D02*
G75*
G03*
X107000000Y-84500000I0J-1000000D01*
G01*
X119000000Y-91500000D02*
G75*
G03*
X118000000Y-92500000I0J-1000000D01*
G01*
X120000000Y-122500000D02*
G75*
G03*
X122500000Y-120000000I0J2500000D01*
G01*
X83500000Y-80000000D02*
G75*
G03*
X85000000Y-81500000I1500000J0D01*
G01*
X107000000Y-102000000D02*
X107000000Y-84500000D01*
X77500000Y-120000000D02*
G75*
G03*
X80000000Y-122500000I2500000J0D01*
G01*
M02*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,36 @@
M48
; DRILL file {KiCad 5.1.5+dfsg1-2build2} date Čt 23. září 2021, 19:28:13
; DRILL file {KiCad (6.0.4)} date Thu 28 Apr 2022 07:55:54 PM
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2021-09-23T19:28:13+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,5.1.5+dfsg1-2build2
; #@! TF.FileFunction,NonPlated,1,2,NPTH
; #@! TF.CreationDate,2022-04-28T19:55:54+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.4)
; #@! TF.FileFunction,NonPlated,1,4,NPTH
FMAT,2
INCH
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
T1C0.0197
%
G90
G05
T1
X3.0512Y-3.8583
X3.0512Y-3.8976
X3.0512Y-3.937
X3.0512Y-3.9764
X3.0512Y-4.0157
X3.8583Y-3.0512
X3.8583Y-4.8228
X3.8976Y-3.0512
X3.8976Y-4.8228
X3.937Y-3.0512
X3.937Y-4.8228
X3.9764Y-3.0512
X3.9764Y-4.8228
X4.0157Y-3.0512
X4.0157Y-4.8228
X4.8228Y-3.8583
X4.8228Y-3.8976
X4.8228Y-3.937
X4.8228Y-3.9764
X4.8228Y-4.0157
T0
M30

View File

@ -1,184 +1,111 @@
M48
; DRILL file {KiCad 5.1.5+dfsg1-2build2} date Čt 23. září 2021, 19:28:13
; DRILL file {KiCad (6.0.4)} date Thu 28 Apr 2022 07:55:54 PM
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2021-09-23T19:28:13+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,5.1.5+dfsg1-2build2
; #@! TF.FileFunction,Plated,1,2,PTH
; #@! TF.CreationDate,2022-04-28T19:55:54+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.4)
; #@! TF.FileFunction,Plated,1,4,PTH
FMAT,2
INCH
; #@! TA.AperFunction,Plated,PTH,ViaDrill
T1C0.0118
; #@! TA.AperFunction,Plated,PTH,ViaDrill
T2C0.0157
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T3C0.0295
%
G90
G05
T1
X3.0709Y-3.1693
X3.0709Y-4.7047
X3.1004Y-4.3602
X3.1004Y-4.4193
X3.1102Y-4.1339
X3.1299Y-3.9272
X3.1299Y-4.3898
X3.1417Y-3.9006
X3.1496Y-3.3465
X3.1496Y-4.5177
X3.1594Y-4.3602
X3.1594Y-4.4193
X3.1693Y-3.0709
X3.1693Y-3.2677
X3.1693Y-4.5965
X3.1693Y-4.8031
X3.1184Y-3.8975
X3.1299Y-3.8287
X3.1423Y-3.9113
X3.1772Y-3.8681
X3.189Y-4.0157
X3.189Y-4.0748
X3.189Y-4.3898
X3.1777Y-3.9651
X3.189Y-3.7697
X3.189Y-4.5472
X3.1988Y-3.7136
X3.2185Y-4.3602
X3.2185Y-4.4193
X3.2372Y-3.5787
X3.2495Y-3.9651
X3.2677Y-3.1693
X3.2677Y-4.7047
X3.2397Y-3.9641
X3.2421Y-4.4272
X3.2746Y-3.5787
X3.2874Y-4.0945
X3.2874Y-4.1339
X3.2874Y-4.1831
X3.2874Y-4.4272
X3.2904Y-4.0453
X3.2892Y-4.044
X3.312Y-3.8543
X3.315Y-4.3307
X3.3169Y-4.1339
X3.3209Y-3.6319
X3.3169Y-4.3209
X3.3169Y-4.3504
X3.3248Y-3.3543
X3.3268Y-4.1831
X3.3445Y-4.4272
X3.3661Y-3.8583
X3.3858Y-4.1634
X3.3937Y-4.7657
X3.3957Y-3.9764
X3.3957Y-4.0354
X3.4016Y-3.6063
X3.4055Y-3.878
X3.4252Y-4.0945
X3.4449Y-3.9075
X3.4449Y-4.3602
X3.4449Y-4.4193
X3.3366Y-4.4272
X3.4252Y-3.6024
X3.4449Y-3.622
X3.4449Y-4.3799
X3.4449Y-4.439
X3.4449Y-4.5472
X3.4646Y-3.7894
X3.4724Y-3.7087
X3.4744Y-3.5433
X3.4744Y-3.5728
X3.4744Y-4.3898
X3.5039Y-4.3602
X3.5039Y-4.4193
X3.5138Y-3.7894
X3.4744Y-4.4094
X3.4843Y-3.622
X3.5039Y-3.7894
X3.5039Y-4.3799
X3.5039Y-4.439
X3.5039Y-4.5472
X3.5039Y-4.8031
X3.5236Y-3.7008
X3.5335Y-4.3898
X3.5427Y-3.9463
X3.5433Y-3.3465
X3.5433Y-4.0945
X3.5512Y-3.6378
X3.563Y-4.3602
X3.563Y-4.4193
X3.5728Y-3.9075
X3.5827Y-3.7008
X3.5335Y-4.4094
X3.5335Y-4.8031
X3.5531Y-3.7205
X3.563Y-4.3799
X3.563Y-4.439
X3.563Y-4.4882
X3.5827Y-4.7047
X3.5925Y-3.7894
X3.6122Y-3.5728
X3.5925Y-3.8976
X3.6319Y-4.1831
X3.6319Y-4.4272
X3.6417Y-3.5433
X3.6614Y-4.0157
X3.6614Y-4.3307
X3.6713Y-3.5138
X3.689Y-4.4272
X3.7008Y-3.622
X3.7402Y-3.7008
X3.7402Y-4.2224
X3.7598Y-4.0256
X3.7598Y-4.0846
X3.7795Y-3.5433
X3.7992Y-4.2717
X3.7992Y-4.3898
X3.7992Y-4.5079
X3.8061Y-3.9892
X3.8061Y-4.1831
X3.8189Y-3.7106
X3.8386Y-4.5276
X3.8386Y-4.7244
X3.8484Y-3.6122
X3.8484Y-3.6811
X3.8583Y-3.8583
X3.8583Y-4.0846
X3.8583Y-4.311
X3.8583Y-4.6457
X3.878Y-3.6516
X3.878Y-3.7795
X3.937Y-3.1496
X3.937Y-3.3465
X3.937Y-3.5433
X3.937Y-3.622
X3.937Y-4.2126
X3.937Y-4.311
X3.937Y-4.3898
X3.937Y-4.626
X3.937Y-4.7244
X4.0157Y-3.7795
X4.0157Y-4.2126
X4.0157Y-4.311
X4.0354Y-4.5276
X4.0354Y-4.626
X4.0354Y-4.7244
X4.0551Y-3.6811
X4.0551Y-3.7402
X4.0551Y-3.937
X4.0551Y-4.0551
X4.0945Y-3.7795
X4.1339Y-3.1496
X4.1339Y-3.3465
X4.1339Y-3.5433
X4.1339Y-3.7402
X4.1339Y-4.4685
X4.1339Y-4.7244
X4.1732Y-3.8189
X4.1732Y-3.8976
X4.1732Y-4.0157
X4.1732Y-4.1732
X4.1732Y-4.3307
X4.3307Y-4.0354
X4.3307Y-4.5276
X4.4094Y-4.2126
X3.6516Y-3.6713
X3.6614Y-4.3209
X3.6614Y-4.3504
X3.6632Y-4.0809
X3.6713Y-3.2874
X3.6713Y-4.1831
X3.6811Y-4.4272
X3.6811Y-4.5079
X3.7323Y-3.937
X3.7598Y-4.4974
X3.8583Y-3.3957
X3.878Y-4.065
X3.9173Y-3.2579
X3.9173Y-3.5827
X3.937Y-4.3504
X3.9537Y-3.2585
X3.9567Y-3.5236
X3.9764Y-3.3957
X4.0157Y-3.9567
X4.439Y-3.3858
X4.439Y-3.5039
X4.4439Y-4.0994
X4.5079Y-4.311
X4.4488Y-4.1339
X4.5079Y-4.3701
X4.5079Y-4.4291
X4.5177Y-4.0256
X4.5276Y-3.8583
X4.5669Y-4.0551
X4.5669Y-4.1339
X4.5472Y-4.0748
X4.5669Y-4.311
X4.5669Y-4.3701
X4.5669Y-4.4291
X4.6063Y-4.7047
X4.6161Y-4.0748
X4.6161Y-4.6161
X4.626Y-4.311
X4.5866Y-4.1142
X4.6161Y-4.5965
X4.626Y-4.3701
X4.626Y-4.4291
X4.6457Y-3.8583
X4.6549Y-4.0557
X4.7047Y-4.6063
X4.7047Y-4.8031
X4.7244Y-3.9764
X4.7244Y-4.0354
X4.8031Y-4.7047
X4.6654Y-4.5965
X4.6949Y-4.1142
T2
X3.4055Y-3.3465
X3.4646Y-3.3465
X3.7008Y-3.4252
X4.0157Y-4.1339
T3
X3.8976Y-4.4783
X3.8976Y-4.5571
X3.9764Y-4.4783
X3.9764Y-4.5571
X3.8976Y-4.4685
X3.8976Y-4.5472
X3.9764Y-4.4685
X3.9764Y-4.5472
T0
M30

View File

@ -1,128 +1,170 @@
{
"Header":
{
"GenerationSoftware":
{
"Vendor": "KiCad",
"Header": {
"GenerationSoftware": {
"Vendor": "KiCad",
"Application": "Pcbnew",
"Version": "5.1.5+dfsg1-2build2"
"Version": "(6.0.4)"
},
"CreationDate": "2021-09-23T19:28:15+02:00"
"CreationDate": "2022-04-28T19:55:52+02:00"
},
"GeneralSpecs":
{
"ProjectId":
{
"GeneralSpecs": {
"ProjectId": {
"Name": "iaq_wired_sensor",
"GUID": "6961715f-7769-4726-9564-5f73656e736f",
"Revision": "rev?"
"Revision": "1"
},
"Size":
{
"X": 45.050,
"Y": 45.050
"Size": {
"X": 45.05,
"Y": 45.05
},
"LayerNumber": 2,
"BoardThickness": 1.600
"LayerNumber": 4,
"BoardThickness": 1.0,
"Finish": "None"
},
"DesignRules":
[
"DesignRules": [
{
"Layers": "Outer",
"PadToPad": 0.200,
"PadToTrack": 0.200,
"TrackToTrack": 0.200,
"MinLineWidth": 0.250,
"TrackToRegion": 0.250,
"RegionToRegion": 0.250
"PadToPad": 0.0,
"PadToTrack": 0.0,
"TrackToTrack": 0.2,
"MinLineWidth": 0.25,
"TrackToRegion": 0.25,
"RegionToRegion": 0.25
},
{
"Layers": "Inner",
"PadToPad": 0.0,
"PadToTrack": 0.0,
"TrackToTrack": 0.2,
"MinLineWidth": 0.25,
"TrackToRegion": 0.25,
"RegionToRegion": 0.25
}
],
"FilesAttributes":
[
"FilesAttributes": [
{
"Path": "iaq_wired_sensor-F_Cu.gbr",
"FileFunction": "Copper,L1,Top",
"FilePolarity": "Positive"
"Path": "iaq_wired_sensor-F_Cu.gbr",
"FileFunction": "Copper,L1,Top",
"FilePolarity": "Positive"
},
{
"Path": "iaq_wired_sensor-B_Cu.gbr",
"FileFunction": "Copper,L2,Bot",
"FilePolarity": "Positive"
"Path": "iaq_wired_sensor-In1_Cu.gbr",
"FileFunction": "Copper,L2,Inr",
"FilePolarity": "Positive"
},
{
"Path": "iaq_wired_sensor-F_Paste.gbr",
"FileFunction": "SolderPaste,Top",
"FilePolarity": "Positive"
"Path": "iaq_wired_sensor-In2_Cu.gbr",
"FileFunction": "Copper,L3,Inr",
"FilePolarity": "Positive"
},
{
"Path": "iaq_wired_sensor-B_Paste.gbr",
"FileFunction": "SolderPaste,Bot",
"FilePolarity": "Positive"
"Path": "iaq_wired_sensor-B_Cu.gbr",
"FileFunction": "Copper,L4,Bot",
"FilePolarity": "Positive"
},
{
"Path": "iaq_wired_sensor-F_SilkS.gbr",
"FileFunction": "Legend,Top",
"FilePolarity": "Positive"
"Path": "iaq_wired_sensor-F_Paste.gbr",
"FileFunction": "SolderPaste,Top",
"FilePolarity": "Positive"
},
{
"Path": "iaq_wired_sensor-B_SilkS.gbr",
"FileFunction": "Legend,Bot",
"FilePolarity": "Positive"
"Path": "iaq_wired_sensor-B_Paste.gbr",
"FileFunction": "SolderPaste,Bot",
"FilePolarity": "Positive"
},
{
"Path": "iaq_wired_sensor-F_Mask.gbr",
"FileFunction": "SolderMask,Top",
"FilePolarity": "Negative"
"Path": "iaq_wired_sensor-F_Silkscreen.gbr",
"FileFunction": "Legend,Top",
"FilePolarity": "Positive"
},
{
"Path": "iaq_wired_sensor-B_Mask.gbr",
"FileFunction": "SolderMask,Bot",
"FilePolarity": "Negative"
"Path": "iaq_wired_sensor-B_Silkscreen.gbr",
"FileFunction": "Legend,Bot",
"FilePolarity": "Positive"
},
{
"Path": "iaq_wired_sensor-Edge_Cuts.gbr",
"FileFunction": "Profile",
"FilePolarity": "Positive"
"Path": "iaq_wired_sensor-F_Mask.gbr",
"FileFunction": "SolderMask,Top",
"FilePolarity": "Negative"
},
{
"Path": "iaq_wired_sensor-B_Mask.gbr",
"FileFunction": "SolderMask,Bot",
"FilePolarity": "Negative"
},
{
"Path": "iaq_wired_sensor-Edge_Cuts.gbr",
"FileFunction": "Profile",
"FilePolarity": "Positive"
}
],
"MaterialStackup":
[
"MaterialStackup": [
{
"Type": "Legend",
"Notes": "Layer F.SilkS"
"Type": "Legend",
"Name": "Top Silk Screen"
},
{
"Type": "SolderPaste",
"Notes": "Layer F.Paste"
"Type": "SolderPaste",
"Name": "Top Solder Paste"
},
{
"Type": "SolderMask",
"Notes": "Layer F.Mask"
"Type": "SolderMask",
"Thickness": 0.01,
"Name": "Top Solder Mask"
},
{
"Type": "Copper",
"Notes": "Layer F.Cu"
"Type": "Copper",
"Thickness": 0.035,
"Name": "F.Cu"
},
{
"Type": "Dielectric",
"Material": "FR4",
"Notes": "Layers L1/L2"
"Type": "Dielectric",
"Thickness": 0.28,
"Material": "FR4",
"Name": "F.Cu/In1.Cu",
"Notes": "Type: dielectric layer 1 (from F.Cu to In1.Cu)"
},
{
"Type": "Copper",
"Notes": "Layer B.Cu"
"Type": "Copper",
"Thickness": 0.035,
"Name": "In1.Cu"
},
{
"Type": "SolderMask",
"Notes": "Layer B.Mask"
"Type": "Dielectric",
"Thickness": 0.28,
"Material": "FR4",
"Name": "In1.Cu/In2.Cu",
"Notes": "Type: dielectric layer 2 (from In1.Cu to In2.Cu)"
},
{
"Type": "SolderPaste",
"Notes": "Layer B.Paste"
"Type": "Copper",
"Thickness": 0.035,
"Name": "In2.Cu"
},
{
"Type": "Legend",
"Notes": "Layer B.SilkS"
"Type": "Dielectric",
"Thickness": 0.28,
"Material": "FR4",
"Name": "In2.Cu/B.Cu",
"Notes": "Type: dielectric layer 3 (from In2.Cu to B.Cu)"
},
{
"Type": "Copper",
"Thickness": 0.035,
"Name": "B.Cu"
},
{
"Type": "SolderMask",
"Thickness": 0.01,
"Name": "Bottom Solder Mask"
},
{
"Type": "SolderPaste",
"Name": "Bottom Solder Paste"
},
{
"Type": "Legend",
"Name": "Bottom Silk Screen"
}
]
}

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,27 +0,0 @@
Digikey,Quantity
587-5853-1-ND,1
445-175218-1-ND,4
587-3238-1-ND,3
490-10700-1-ND,5
18-AQ12-02HTGCT-ND,1
1727-3854-1-ND,1
31-SD24-7CT-ND,1
507-2156-1-ND,1
507-1794-1-ND,1
S9461-ND,1
455-1696-1-ND,1
587-2891-1-ND,1
587-5935-1-ND,1
516-3906-1-ND,1
1727-1287-1-ND,1
YAG5275CT-ND,1
YAG3164CT-ND,1
311-100KJRCT-ND,2
311-10KJRCT-ND,4
311-1KLBCT-ND,3
311-120JRCT-ND,1
MAX15062CATA+TCT-ND,2
497-17478-1-ND,1
1649-SHT40-AD1B-R2CT-ND,1
1649-SCD40-D-R2CT-ND,1
296-THVD1450DRBRCT-ND,1
1 Digikey Quantity
2 587-5853-1-ND 1
3 445-175218-1-ND 4
4 587-3238-1-ND 3
5 490-10700-1-ND 5
6 18-AQ12-02HTGCT-ND 1
7 1727-3854-1-ND 1
8 31-SD24-7CT-ND 1
9 507-2156-1-ND 1
10 507-1794-1-ND 1
11 S9461-ND 1
12 455-1696-1-ND 1
13 587-2891-1-ND 1
14 587-5935-1-ND 1
15 516-3906-1-ND 1
16 1727-1287-1-ND 1
17 YAG5275CT-ND 1
18 YAG3164CT-ND 1
19 311-100KJRCT-ND 2
20 311-10KJRCT-ND 4
21 311-1KLBCT-ND 3
22 311-120JRCT-ND 1
23 MAX15062CATA+TCT-ND 2
24 497-17478-1-ND 1
25 1649-SHT40-AD1B-R2CT-ND 1
26 1649-SCD40-D-R2CT-ND 1
27 296-THVD1450DRBRCT-ND 1

View File

@ -1 +1,78 @@
18108755619851
VL_Logos
OSHW-Logo2_7.3x6mm_SilkScreen
Open Source Hardware Symbol
Logo Symbol OSHW
0
0
0
VL_Logos
OSHW-Logo2_7.3x6mm_SilkScreen_no_text
0
0
0
VL_Logos
OSHW-Logo2_9.8x8mm_SilkScreen
Open Source Hardware Symbol
Logo Symbol OSHW
0
0
0
VL_Logos
OSHW-Logo_5.7x6mm_SilkScreen
Open Source Hardware Logo
Logo OSHW
0
0
0
VL_Logos
OSHW-Logo_7.5x8mm_SilkScreen
Open Source Hardware Logo
Logo OSHW
0
0
0
VL_Logos
OSHW-Logo_11.4x12mm_SilkScreen
Open Source Hardware Logo
Logo OSHW
0
0
0
VL_Logos
VL_Logo_10x7mm
0
0
0
VL_Logos
VL_Logo_14x10mm
0
0
0
VL_Logos
VL_Logo_20x14mm
0
0
0
VL_Logos
VL_Logo_Long_35x10mm
0
0
0
VL_Logos
VL_Logo_Long_52x15mm
0
0
0

View File

@ -1,821 +0,0 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# HD_Capacitors_C0402_100nF_50V_X7R
#
DEF HD_Capacitors_C0402_100nF_50V_X7R C 0 40 N N 1 F N
F0 "C" 200 150 50 H V C CNN
F1 "HD_Capacitors_C0402_100nF_50V_X7R" 0 -200 50 H I C CNN
F2 "HD_Capacitors:C0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "100nF" 250 50 50 H V C CNN "Capacitance"
F5 "50V" 200 -50 50 H V C CNN "Voltage"
F6 "X7R" 0 0 50 H I C CNN "Dielectric"
F7 "Murata Electronics" 0 -400 50 H I C CNN "Manufacturer"
F8 "GRM155R71H104KE14D" 0 -500 50 H I C CNN "Code"
F9 "490-10700-1-ND" 0 -600 50 H I C CNN "Digikey"
F10 "81-GRM155R71H104KE4D" 0 -700 50 H I C CNN "Mouser"
F11 "2611912" 0 -800 50 H I C CNN "Farnell"
F12 "GRM155R71H104KE14D" 0 -900 50 H I C CNN "TME"
F13 "TDK Corporation" 900 -400 50 H I C CNN "Alt_Manufacturer"
F14 "C1005X7R1H104K050BB" 900 -500 50 H I C CNN "Alt_Code"
DRAW
P 2 1 1 20 -80 -30 80 -30 N
P 2 1 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Capacitors_C0402_1uF_35V_X5R
#
DEF HD_Capacitors_C0402_1uF_35V_X5R C 0 40 N N 1 F N
F0 "C" 200 150 50 H V C CNN
F1 "HD_Capacitors_C0402_1uF_35V_X5R" 0 -200 50 H I C CNN
F2 "HD_Capacitors:C0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "1uF" 200 50 50 H V C CNN "Capacitance"
F5 "35V" 200 -50 50 H V C CNN "Voltage"
F6 "X5R" 0 0 50 H I C CNN "Dielectric"
F7 "TDK Corporation" 0 -400 50 H I C CNN "Manufacturer"
F8 "C1005X5R1V105K050BE" 0 -500 50 H I C CNN "Code"
F9 "445-175218-1-ND" 0 -600 50 H I C CNN "Digikey"
F10 "810-C1005X5R1V105K" 0 -700 50 H I C CNN "Mouser"
F11 "3416060" 0 -800 50 H I C CNN "Farnell"
F12 "X" 0 -900 50 H I C CNN "TME"
F13 "Kyocera International Inc. Electronic Components" 900 -400 50 H I C CNN "Alt_Manufacturer"
F14 "CM05X5R105K35AH" 900 -500 50 H I C CNN "Alt_Code"
DRAW
P 2 1 1 20 -80 -30 80 -30 N
P 2 1 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Capacitors_C0603_10uF_16V_X5R
#
DEF HD_Capacitors_C0603_10uF_16V_X5R C 0 40 N N 1 F N
F0 "C" 200 150 50 H V C CNN
F1 "HD_Capacitors_C0603_10uF_16V_X5R" 0 -200 50 H I C CNN
F2 "HD_Capacitors:C0603" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "10uF" 200 50 50 H V C CNN "Capacitance"
F5 "16V" 200 -50 50 H V C CNN "Voltage"
F6 "X5R" 0 0 50 H I C CNN "Dielectric"
F7 "Taiyo Yuden" 0 -400 50 H I C CNN "Manufacturer"
F8 "EMK107BBJ106MA-T" 0 -500 50 H I C CNN "Code"
F9 "587-3238-1-ND" 0 -600 50 H I C CNN "Digikey"
F10 "963-EMK107BBJ106MA-T" 0 -700 50 H I C CNN "Mouser"
F11 "2779064" 0 -800 50 H I C CNN "Farnell"
F12 "CL10A106MO8NQNC" 0 -900 50 H I C CNN "TME"
F13 "Murata Electronics" 950 -400 50 H I C CNN "Alt_Manufacturer"
F14 "GRM188R61C106MA73D" 950 -500 50 H I C CNN "Alt_Code"
DRAW
P 2 1 1 20 -80 -30 80 -30 N
P 2 1 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Capacitors_C1210_22uF_35V_X5R
#
DEF HD_Capacitors_C1210_22uF_35V_X5R C 0 40 N N 1 F N
F0 "C" 200 150 50 H V C CNN
F1 "HD_Capacitors_C1210_22uF_35V_X5R" 0 -200 50 H I C CNN
F2 "HD_Capacitors:C1210" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "22uF" 200 50 50 H V C CNN "Capacitance"
F5 "35V" 200 -50 50 H V C CNN "Voltage"
F6 "X5R" 0 0 50 H I C CNN "Dielectric"
F7 "Taiyo Yuden" 0 -400 50 H I C CNN "Manufacturer"
F8 "GMK325BJ226MM-P" 0 -500 50 H I C CNN "Code"
F9 "587-5853-1-ND" 0 -600 50 H I C CNN "Digikey"
F10 "963-GMK325BJ226MM-P" 0 -700 50 H I C CNN "Mouser"
F11 "X" 0 -800 50 H I C CNN "Farnell"
F12 "X" 0 -900 50 H I C CNN "TME"
F13 "Taiyo Yuden" 950 -400 50 H I C CNN "Alt_Manufacturer"
F14 "GMK325BJ226MM-T" 950 -500 50 H I C CNN "Alt_Code"
DRAW
P 2 1 1 20 -80 -30 80 -30 N
P 2 1 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Communication_THVD1450DRBR
#
DEF HD_Communication_THVD1450DRBR U 0 40 Y Y 1 F N
F0 "U" -250 450 50 H V C CNN
F1 "HD_Communication_THVD1450DRBR" 350 450 50 H V C CNN
F2 "HD_SON:Texas_VSON8" 0 -650 50 H I C CNN
F3 "" 0 450 50 H I C CNN
F4 "Texas Instruments" 0 -750 50 H I C CNN "Manufacturer"
F5 "THVD1450DRBR" 0 -850 50 H I C CNN "Code"
F6 "296-THVD1450DRBRCT-ND" 0 -950 50 H I C CNN "Digikey"
F7 "595-THVD1450DRBR" 0 -1050 50 H I C CNN "Mouser"
F8 "X" 0 -1150 50 H I C CNN "Farnell"
F9 "X" 0 -1250 50 H I C CNN "TME"
DRAW
C -12 -145 14 1 1 10 F
C -1 59 14 1 1 10 F
C 65 75 14 1 1 10 F
S -300 400 300 -500 1 1 10 f
S 50 125 50 125 1 1 0 N
P 2 1 1 10 -160 -200 -75 -200 N
P 2 1 1 10 -160 100 -50 100 N
P 2 1 1 10 -50 -126 -50 -136 N
P 2 1 1 10 -25 -200 210 -200 N
P 3 1 1 10 -160 -100 -50 -100 -50 -125 N
P 3 1 1 10 0 50 0 0 -160 0 N
P 3 1 1 10 50 125 150 125 150 -200 N
P 3 1 1 10 100 75 100 -150 0 -150 N
P 4 1 1 10 -75 -125 -75 -225 25 -175 -75 -125 N
P 4 1 1 10 -50 100 50 150 50 50 -50 100 N
P 4 1 1 10 75 75 175 75 175 100 210 100 N
X ePAD 0 0 -600 100 U 50 50 1 1 I N
X RO 1 -400 100 100 R 50 50 1 1 O
X ~RE 2 -400 0 100 R 50 50 1 1 I
X DE 3 -400 -100 100 R 50 50 1 1 I
X DI 4 -400 -200 100 R 50 50 1 1 I
X GND 5 0 -600 100 U 50 50 1 1 W
X A 6 400 -200 100 L 50 50 1 1 B
X B 7 400 100 100 L 50 50 1 1 B
X VCC 8 0 500 100 D 50 50 1 1 W
ENDDRAW
ENDDEF
#
# HD_Connectors_JST_ZH5_Side_Entry_S5B-ZR-SM4A-TF
#
DEF HD_Connectors_JST_ZH5_Side_Entry_S5B-ZR-SM4A-TF J 0 1 Y N 1 F N
F0 "J" 50 300 50 H V C CNN
F1 "HD_Connectors_JST_ZH5_Side_Entry_S5B-ZR-SM4A-TF" 50 -300 50 H V C CNN
F2 "HD_Connectors:JST_ZH_5PIN_S5B-ZR-SM4A-TF" 50 -400 50 H I C CNN
F3 "" -450 -300 50 H I C CNN
F4 "455-1696-1-ND" 50 -500 50 H I C CNN "Digikey"
F5 "X" 50 -600 50 H I C CNN "Mouser"
F6 "2399336" 50 -700 50 H I C CNN "Farnell"
F7 "S5B-ZR-SM4A-TF" 50 -800 50 H I C CNN "TME"
DRAW
S 0 250 100 -250 0 1 0 f
X MH 0 200 -200 100 L 50 50 1 1 I
X 1 1 -100 200 100 R 50 50 1 1 B
X 2 2 -100 100 100 R 50 50 1 1 B
X 3 3 -100 0 100 R 50 50 1 1 I
X 4 4 -100 -100 100 R 50 50 1 1 I
X 5 5 -100 -200 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# HD_Connectors_SWD_Connector
#
DEF HD_Connectors_SWD_Connector SWD 0 1 Y Y 1 F N
F0 "SWD" 100 300 50 H V C CNN
F1 "HD_Connectors_SWD_Connector" 50 -300 50 H V C CNN
F2 "HD_Connectors:SWD_Connector_for_PogoHeader" 50 -400 50 H I C CNN
F3 "" -450 -300 50 H I C CNN
F4 "X" 50 -600 50 H I C CNN "Mouser"
F5 "X" 50 -700 50 H I C CNN "Farnell"
F6 "X" 50 -800 50 H I C CNN "TME"
F7 "X" 50 -500 50 H I C CNN "Digikey"
DRAW
S 0 250 250 -250 0 1 0 f
X 3V3 1 -100 200 100 R 50 50 1 1 B
X GND 2 -100 100 100 R 50 50 1 1 B
X SWDIO 3 -100 0 100 R 50 50 1 1 I
X SWCLK 4 -100 -100 100 R 50 50 1 1 I
X NRST 5 -100 -200 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# HD_Connectors_Sullins_SWR204-NRTN-D02-RA-GA
#
DEF HD_Connectors_Sullins_SWR204-NRTN-D02-RA-GA J 0 40 Y N 1 F N
F0 "J" 50 250 50 H V C CNN
F1 "HD_Connectors_Sullins_SWR204-NRTN-D02-RA-GA" 50 350 50 H I C CNN
F2 "HD_Connectors:Sullins_SWR204-NRTN-D02-RA-GA" 0 -250 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "Sullins Connector Solutions" 0 -350 50 H I C CNN "Manufacturer"
F5 "SWR204-NRTN-D02-RA-GA" 0 -450 50 H I C CNN "Code"
F6 "S9461-ND" 0 -550 50 H I C CNN "Digikey"
F7 "X" 0 -650 50 H I C CNN "Mouser"
F8 "X" 0 -750 50 H I C CNN "Farnell"
F9 "X" 0 -850 50 H I C CNN "TME"
DRAW
S 0 200 100 -200 0 1 0 f
X 1 1 -100 150 100 R 50 50 1 1 I
X 2 2 -100 50 100 R 50 50 1 1 I
X 3 3 -100 -50 100 R 50 50 1 1 I
X 4 4 -100 -150 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# HD_Diodes_AQ12-02HTG
#
DEF HD_Diodes_AQ12-02HTG D 0 40 Y N 1 F N
F0 "D" 250 100 50 H V C CNN
F1 "HD_Diodes_AQ12-02HTG" 475 0 50 H V C CNN
F2 "HD_SOT:SOT-23" 0 -300 50 H I C CNN
F3 "" -50 600 50 H I C CNN
F4 "Littelfuse Inc." 0 -400 50 H I C CNN "Manufacturer"
F5 "AQ12-02HTG" 0 -500 50 H I C CNN "Code"
F6 "Bourns" 1000 -400 50 H I C CNN "Alt_Manufacturer"
F7 "CDSOT23-SM712" 950 -500 50 H I C CNN "Alt_Code"
F8 "18-AQ12-02HTGCT-ND" 0 -600 50 H I C CNN "Digikey"
F9 "576-AQ12-02HTG" 0 -700 50 H I C CNN "Mouser"
F10 "X" 0 -800 50 H I C CNN "Farnell"
F11 "X" 0 -900 50 H I C CNN "TME"
DRAW
S -200 150 200 -100 1 1 0 f
P 4 0 1 0 -50 100 -150 100 -100 50 -50 100 F
P 2 1 1 0 -100 100 -100 150 N
P 2 1 1 0 0 -100 0 -50 N
P 2 1 1 0 100 100 100 150 N
P 4 1 1 0 -150 0 -50 0 -100 50 -150 0 F
P 4 1 1 0 -150 60 -140 50 -60 50 -50 40 N
P 4 1 1 0 -100 0 -100 -50 100 -50 100 0 N
P 4 1 1 0 50 0 150 0 100 50 50 0 F
P 4 1 1 0 50 60 60 50 140 50 150 40 N
P 4 1 1 0 150 100 50 100 100 50 150 100 F
X 1 1 -100 250 100 D 50 50 1 1 I
X 2 2 100 250 100 D 50 50 1 1 I
X 3 3 0 -200 100 U 50 50 1 1 I
ENDDRAW
ENDDEF
#
# HD_Diodes_ASMB-KTF0-0A306
#
DEF HD_Diodes_ASMB-KTF0-0A306 LD 0 40 Y N 1 F N
F0 "LD" 0 400 50 H V C CNN
F1 "HD_Diodes_ASMB-KTF0-0A306" 0 -350 50 H V C CNN
F2 "HD_Diodes:LED_ASMB-KTF0-0A306" 0 -450 50 H I C CNN
F3 "" 0 -1000 50 H I C CNN
F4 "Broadcom Limited" 0 -550 50 H I C CNN "Manufacturer"
F5 "ASMB-KTF0-0A306" 0 -650 50 H I C CNN "Code"
F6 "516-3906-1-ND" 0 -750 50 H I C CNN "Digikey"
F7 "630-ASMB-KTF0-0A306" 0 -850 50 H I C CNN "Mouser"
F8 "2858363" 0 -950 50 H I C CNN "Farnell"
F9 "X" 0 -1050 50 H I C CNN "TME"
DRAW
T 0 0 -100 50 0 0 0 BLUE Normal 0 C C
T 0 0 100 50 0 0 0 GREEN Normal 0 C C
T 0 0 300 50 0 0 0 RED Normal 0 C C
S -200 350 200 -300 0 0 0 f
P 2 0 1 0 -200 -200 -50 -200 N
P 2 0 1 0 -200 0 -50 0 N
P 2 0 1 0 -200 200 -50 200 N
P 2 0 1 0 150 0 50 0 N
P 3 0 1 0 50 200 150 200 150 0 N
P 4 0 1 0 50 -200 150 -200 150 0 200 0 N
P 2 1 1 0 -50 -200 50 -200 N
P 2 1 1 8 -50 -150 -50 -250 N
P 2 1 1 0 -50 0 50 0 N
P 2 1 1 8 -50 50 -50 -50 N
P 2 1 1 0 -50 200 50 200 N
P 2 1 1 8 -50 250 -50 150 N
P 4 1 1 8 50 -150 50 -250 -50 -200 50 -150 N
P 4 1 1 8 50 50 50 -50 -50 0 50 50 N
P 4 1 1 8 50 250 50 150 -50 200 50 250 N
P 5 1 1 0 -120 -170 -180 -110 -150 -110 -180 -110 -180 -140 N
P 5 1 1 0 -120 30 -180 90 -150 90 -180 90 -180 60 N
P 5 1 1 0 -120 230 -180 290 -150 290 -180 290 -180 260 N
P 5 1 1 0 -70 -170 -130 -110 -100 -110 -130 -110 -130 -140 N
P 5 1 1 0 -70 30 -130 90 -100 90 -130 90 -130 60 N
P 5 1 1 0 -70 230 -130 290 -100 290 -130 290 -130 260 N
X A 1 300 0 100 L 50 50 1 1 P
X K 2 -300 200 100 R 50 50 1 1 P
X K 3 -300 0 100 R 50 50 1 1 P
X K 4 -300 -200 100 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Diodes_PMEG2005EJ115
#
DEF HD_Diodes_PMEG2005EJ115 D 0 40 N N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "HD_Diodes_PMEG2005EJ115" 0 -100 50 H V C CNN
F2 "HD_Diodes:D_SOD-323F" 0 -200 50 H I C CNN
F3 "" 0 -300 50 H I C CNN
F4 "Nexperia" 0 -300 50 H I C CNN "Manufacturer"
F5 " 771-PMEG2005EJ115" 0 -400 50 H I C CNN "Code"
F6 "1727-3854-1-ND" 0 -500 50 H I C CNN "Digikey"
F7 "771-PMEG2005EJ115" 0 -600 50 H I C CNN "Mouser"
F8 "1757760" 0 -700 50 H I C CNN "Farnell"
F9 "PMEG2005EJ.115" 0 -800 50 H I C CNN "TME"
$FPLIST
TO-???*
*_Diode_*
*SingleDiode*
D_*
$ENDFPLIST
DRAW
P 2 1 1 0 50 0 -50 0 N
P 4 1 1 8 50 50 50 -50 -50 0 50 50 N
P 6 1 1 8 -75 25 -75 50 -50 50 -50 -50 -25 -50 -25 -25 N
X K 1 -150 0 100 R 50 50 1 1 P
X A 2 150 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Diodes_SD24-7
#
DEF HD_Diodes_SD24-7 D 0 40 N N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "HD_Diodes_SD24-7" 0 -100 50 H V C CNN
F2 "HD_Diodes:D_SOD-323" 0 -200 50 H I C CNN
F3 "" 0 -300 50 H I C CNN
F4 "Diodes Incorporated" 0 -300 50 H I C CNN "Manufacturer"
F5 "SD24-7" 0 -400 50 H I C CNN "Code"
F6 "31-SD24-7CT-ND" 0 -500 50 H I C CNN "Digikey"
F7 "621-SD24-7" 0 -600 50 H I C CNN "Mouser"
F8 "X" 0 -700 50 H I C CNN "Farnell"
F9 "X" 0 -800 50 H I C CNN "TME"
$FPLIST
TO-???*
*_Diode_*
*SingleDiode*
D_*
$ENDFPLIST
DRAW
P 2 1 1 0 50 0 -50 0 N
P 4 1 1 0 -75 50 -50 25 -50 -25 -25 -50 N
P 4 1 1 8 50 50 50 -50 -50 0 50 50 N
X K 1 -150 0 100 R 50 50 1 1 P
X A 2 150 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Inductors_NRS4018T330MDGJ
#
DEF HD_Inductors_NRS4018T330MDGJ L 0 40 N N 1 F N
F0 "L" 0 200 50 H V C CNN
F1 "HD_Inductors_NRS4018T330MDGJ" 0 -50 50 H V C CNN
F2 "HD_Inductors:L_NR40xx" 0 -150 50 H I C CNN
F3 "" 0 350 50 H I C CNN
F4 "33uH" 0 100 50 H V C CNN "Inductance"
F5 "550mA" 250 100 50 H I C CNN "Current Rating"
F6 "Taiyo Yuden" 0 -250 50 H I C CNN "Manufacturer"
F7 "NRS4018T330MDGJ" 0 -350 50 H I C CNN "Code"
F8 "587-2891-1-ND" 0 -450 50 H I C CNN "Digikey"
F9 "963-NRS4018T330MDGJ" 0 -550 50 H I C CNN "Mouser"
F10 "X" 0 -650 50 H I C CNN "Farnell"
F11 "X" 0 -750 50 H I C CNN "TME"
DRAW
A -75 0 25 1 1799 1 1 0 N -50 0 -100 0
A -25 0 25 1 1799 1 1 0 N 0 0 -50 0
A 25 0 25 1 1799 1 1 0 N 50 0 0 0
A 75 0 25 1 1799 1 1 0 N 100 0 50 0
X 1 1 -150 0 50 R 50 50 1 1 P
X 2 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Inductors_NRS4018T470MDGJ
#
DEF HD_Inductors_NRS4018T470MDGJ L 0 40 N N 1 F N
F0 "L" 0 200 50 H V C CNN
F1 "HD_Inductors_NRS4018T470MDGJ" 0 -50 50 H V C CNN
F2 "HD_Inductors:L_NR40xx" 0 -150 50 H I C CNN
F3 "" 0 350 50 H I C CNN
F4 "47uH" 0 100 50 H V C CNN "Inductance"
F5 "440mA" 250 100 50 H I C CNN "Current Rating"
F6 "Taiyo Yuden" 0 -250 50 H I C CNN "Manufacturer"
F7 "NRS4018T470MDGJ" 0 -350 50 H I C CNN "Code"
F8 "587-5935-1-ND" 0 -450 50 H I C CNN "Digikey"
F9 "963-NRS4018T470MDGJ" 0 -550 50 H I C CNN "Mouser"
F10 "X" 0 -650 50 H I C CNN "Farnell"
F11 "X" 0 -750 50 H I C CNN "TME"
DRAW
A -75 0 25 1 1799 1 1 0 N -50 0 -100 0
A -25 0 25 1 1799 1 1 0 N 0 0 -50 0
A 25 0 25 1 1799 1 1 0 N 50 0 0 0
A 75 0 25 1 1799 1 1 0 N 100 0 50 0
X 1 1 -150 0 50 R 50 50 1 1 P
X 2 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_MCUs_STM32L031G6U7
#
DEF HD_MCUs_STM32L031G6U7 U 0 40 Y Y 1 F N
F0 "U" -400 800 50 H V C CNN
F1 "HD_MCUs_STM32L031G6U7" 550 800 50 H V C CNN
F2 "MRS_QFN:QFN_28-4x4mm" 0 -1300 50 H I C CNN
F3 "" 50 750 50 H I C CNN
F4 "STMicroelectronics" 0 0 50 H I C CNN "Manufacturer"
F5 "STM32L031G6U7" 0 0 50 H I C CNN "Code"
F6 "497-16807-ND" 0 0 50 H I C CNN "Digikey"
F7 "511-STM32L031G6U7" 0 0 50 H I C CNN "Mouser"
F8 "3365411" 0 0 50 H I C CNN "Farnell"
F9 "STM32L031G6U7TR" 0 0 50 H I C CNN "TME"
F10 "497-16807-ND" 0 0 50 H I C CNN "Arrow"
DRAW
S -450 -750 450 750 1 1 10 f
X VDD 1 -50 850 100 D 50 50 1 1 W
X PA4 10 550 250 100 L 50 50 1 1 B
X PA5 11 550 150 100 L 50 50 1 1 B
X PA6 12 550 50 100 L 50 50 1 1 B
X PA7 13 550 -50 100 L 50 50 1 1 B
X PB0 14 -550 -250 100 R 50 50 1 1 B
X PB1 15 -550 -350 100 R 50 50 1 1 B
X VSS 16 -50 -850 100 U 50 50 1 1 W
X VDD 17 50 850 100 D 50 50 1 1 W
X PA8 18 550 -150 100 L 50 50 1 1 B
X PA9 19 550 -250 100 L 50 50 1 1 B
X PC14 2 -550 50 100 R 50 50 1 1 B
X PA10 20 550 -350 100 L 50 50 1 1 B
X PA13 21 550 -450 100 L 50 50 1 1 B
X PA14 22 550 -550 100 L 50 50 1 1 B
X PA15 23 550 -650 100 L 50 50 1 1 B
X PB3 24 -550 -450 100 R 50 50 1 1 B
X PB6 25 -550 -550 100 R 50 50 1 1 B
X PB7 26 -550 -650 100 R 50 50 1 1 B
X BOOT0 27 -550 450 100 R 50 50 1 1 I
X VSS 28 50 -850 100 U 50 50 1 1 W
X PC15 3 -550 -50 100 R 50 50 1 1 B
X NRST 4 -550 650 100 R 50 50 1 1 I
X VDDA 5 150 850 100 D 50 50 1 1 W
X PA0 6 550 650 100 L 50 50 1 1 B
X PA1 7 550 550 100 L 50 50 1 1 B
X PA2 8 550 450 100 L 50 50 1 1 B
X PA3 9 550 350 100 L 50 50 1 1 B
ENDDRAW
ENDDEF
#
# HD_Other_0686F0500-01
#
DEF HD_Other_0686F0500-01 F 0 40 Y Y 1 F N
F0 "F" 0 200 50 H V C CNN
F1 "HD_Other_0686F0500-01" 0 -100 50 H V C CNN
F2 "HD_Other:F0603" 0 -200 50 H I C CNN
F3 "" 0 200 50 H I C CNN
F4 "2834860" 0 -700 50 H I C CNN "Farnell"
F5 "C1F-500" 0 -800 50 H I C CNN "TME"
F6 "530-0686F0500-01" 0 -600 50 H I C CNN "Mouser"
F7 "507-2156-1-ND" 0 -500 50 H I C CNN "Digikey"
F8 "Bel Fuse Inc." 0 -300 50 H I C CNN "Manufacturer"
F9 "0686F0500-01" 0 -400 50 H I C CNN "Code"
F10 "Eaton - Electronics Division" 1050 -300 50 H I C CNN "Alt_Manufacturer"
F11 "CC06FA500MA-TR" 1100 -400 50 H I C CNN "Alt_Code"
DRAW
S 100 -30 -100 30 1 1 10 N
P 2 1 1 0 -100 0 100 0 N
X ~ 1 -150 0 50 R 50 50 1 1 P
X ~ 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Other_0ZCJ0010FF2E
#
DEF HD_Other_0ZCJ0010FF2E F 0 40 Y Y 1 F N
F0 "F" 0 200 50 H V C CNN
F1 "HD_Other_0ZCJ0010FF2E" 0 -100 50 H V C CNN
F2 "HD_Other:F1206" 0 -200 50 H I C CNN
F3 "" 0 200 50 H I C CNN
F4 "Bel Fuse Inc." 0 -300 50 H I C CNN "Manufacturer"
F5 "0ZCJ0010FF2E" 0 -400 50 H I C CNN "Code"
F6 "Eaton - Electronics Division" 1050 -300 50 H I C CNN "Alt_Manufacturer"
F7 "PTS120660V010" 1100 -400 50 H I C CNN "Alt_Code"
F8 "507-1794-1-ND" 0 -500 50 H I C CNN "Digikey"
F9 "530-0ZCJ0010FF2E" 0 -600 50 H I C CNN "Mouser"
F10 "2834880" 0 -700 50 H I C CNN "Farnell"
F11 " 0ZCJ0010FF2E" 0 -800 50 H I C CNN "TME"
DRAW
S 100 -30 -100 30 1 1 10 N
P 2 1 1 0 -100 0 100 0 N
X ~ 1 -150 0 50 R 50 50 1 1 P
X ~ 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Other_TAG_SN
#
DEF HD_Other_TAG_SN H 0 40 Y Y 1 F N
F0 "H" 0 100 50 H I C CNN
F1 "HD_Other_TAG_SN" 0 200 50 H I C CNN
F2 "HD_Other:SERIAL_NUMBER_SPACE" 0 -100 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
T 0 0 0 50 0 0 0 "TAG SN" Normal 0 C C
S -250 50 250 -50 0 1 0 f
ENDDRAW
ENDDEF
#
# HD_Other_TAG_TESTING
#
DEF HD_Other_TAG_TESTING H 0 40 Y Y 1 F N
F0 "H" 0 100 50 H I C CNN
F1 "HD_Other_TAG_TESTING" 0 200 50 H I C CNN
F2 "HD_Other:TEST_CHECKMARKS" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
T 0 0 0 50 0 0 0 "TAG TESTING" Normal 0 C C
S -250 50 250 -50 0 1 0 f
ENDDRAW
ENDDEF
#
# HD_Other_Testpoint
#
DEF HD_Other_Testpoint TP 0 40 N N 1 F N
F0 "TP" 100 0 50 H V C CNN
F1 "HD_Other_Testpoint" 0 -100 50 H I C CNN
F2 "HD_Other:Testpoint_SMD_2mm" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
C 0 0 50 0 1 0 N
X 1 1 -150 0 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# HD_PMICs_MAX15062C
#
DEF HD_PMICs_MAX15062C U 0 40 Y Y 1 F N
F0 "U" -350 300 50 H V C CNN
F1 "HD_PMICs_MAX15062C" 100 300 50 H V C CNN
F2 "HD_DFN_QFN:TDFN-8-1EP_2x2mm_P0.5mm" 0 -450 50 H I C CNN
F3 "" -150 300 50 H I C CNN
F4 "Maxim Integrated" 0 -550 50 H I C CNN "Manufacturer"
F5 "MAX15062CATA+T" 0 -650 50 H I C CNN "Code"
F6 "MAX15062CATA+TCT-ND" 0 -750 50 H I C CNN "Digikey"
F7 "700-MAX15062CATA+T" 0 -850 50 H I C CNN "Mouser"
F8 "X" 0 -1050 50 H I C CNN "TME"
F9 "2516652" 0 -950 50 H I C CNN "Farnell"
DRAW
S -450 250 450 -250 0 1 0 f
X VIN 1 -550 200 100 R 50 50 1 1 I
X EN/UVLO 2 -550 100 100 R 50 50 1 1 I
X VCC 3 -550 -200 100 R 50 50 1 1 I
X FB/VOUT 4 550 100 100 L 50 50 1 1 I
X MODE 5 -550 -100 100 R 50 50 1 1 I
X nRST 6 -550 0 100 R 50 50 1 1 I
X GND 7 0 -350 100 U 50 50 1 1 I
X LX 8 550 200 100 L 50 50 1 1 w
ENDDRAW
ENDDEF
#
# HD_Power_Symbols_+3V3
#
DEF HD_Power_Symbols_+3V3 #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "HD_Power_Symbols_+3V3" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
ALIAS +3.3V
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +3V3 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# HD_Power_Symbols_+5V
#
DEF HD_Power_Symbols_+5V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "HD_Power_Symbols_+5V" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +5V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# HD_Power_Symbols_GND
#
DEF HD_Power_Symbols_GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "HD_Power_Symbols_GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -25 -75 25 -75 N
P 2 0 1 0 -5 -100 5 -100 N
P 2 0 1 0 0 -50 0 0 N
P 2 0 1 0 50 -50 -50 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# HD_Power_Symbols_VCC
#
DEF HD_Power_Symbols_VCC #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "HD_Power_Symbols_VCC" 0 150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X VCC 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# HD_Power_Symbols_VIN
#
DEF HD_Power_Symbols_VIN #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "HD_Power_Symbols_VIN" 0 150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X VIN 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# HD_Resistors_R0402_100k_5%_1d16W
#
DEF HD_Resistors_R0402_100k_5%_1d16W R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "HD_Resistors_R0402_100k_5%_1d16W" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "100k" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "5%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "RC0402JR-07100KL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402FT100K" 800 -500 50 H I C CNN "Alt_Code"
F11 "311-100KJRCT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402JR-07100KL" 0 -700 50 H I C CNN "Mouser"
F13 "9233008" 0 -800 50 H I C CNN "Farnell"
F14 "RC0402JR-07100KL" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Resistors_R0402_120R_1%_1d16W
#
DEF HD_Resistors_R0402_120R_1%_1d16W R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "HD_Resistors_R0402_120R_1%_1d16W" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "120R" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "1%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "RC0402JR-07120RL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402JT120R" 800 -500 50 H I C CNN "Alt_Code"
F11 "311-120JRCT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402JR-07120RL" 0 -700 50 H I C CNN "Mouser"
F13 "9232656" 0 -800 50 H I C CNN "Farnell"
F14 "RC0402FR-07120RL" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Resistors_R0402_1k_1%_1d16W
#
DEF HD_Resistors_R0402_1k_1%_1d16W R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "HD_Resistors_R0402_1k_1%_1d16W" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "1k" 100 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "1%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "AC0402FR-071KL" 0 -500 50 H I C CNN "Code"
F9 "TE Connectivity Passive Product" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "CRGCQ0402F1K0" 800 -500 50 H I C CNN "Alt_Code"
F11 "311-1KLBCT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402JR-131KL" 0 -700 50 H I C CNN "Mouser"
F13 "3495181" 0 -800 50 H I C CNN "Farnell"
F14 "SMD0402-1K" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Resistors_R0402_267k_1%_1d16W
#
DEF HD_Resistors_R0402_267k_1%_1d16W R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "HD_Resistors_R0402_267k_1%_1d16W" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "267k" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "1%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "AC0402FR-07267KL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402FT267KCT-ND" 800 -500 50 H I C CNN "Alt_Code"
F11 "YAG5275CT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-AC0402FR-07267KL " 0 -700 50 H I C CNN "Mouser"
F13 "2140969" 0 -800 50 H I C CNN "Farnell"
F14 "X" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Resistors_R0402_453k_1%_1d16W
#
DEF HD_Resistors_R0402_453k_1%_1d16W R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "HD_Resistors_R0402_453k_1%_1d16W" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "453k" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "1%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "RC0402FR-07453KL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402FT453K" 800 -500 50 H I C CNN "Alt_Code"
F11 "YAG3164CT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402FR-07453KL" 0 -700 50 H I C CNN "Mouser"
F13 "2140999" 0 -800 50 H I C CNN "Farnell"
F14 "RC0402FR-07453KL" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# HD_Sensors_SCD40-D-R2
#
DEF HD_Sensors_SCD40-D-R2 U 0 40 Y Y 1 F N
F0 "U" 0 350 50 H V C CNN
F1 "HD_Sensors_SCD40-D-R2" 0 250 50 H V C CNN
F2 "HD_Sensors:SCD4x" 0 -250 50 H I C CNN
F3 "" 0 50 50 H I C CNN
F4 "Sensirion AG" 0 -350 50 H I C CNN "Manufacturer"
F5 "SCD40-D-R2" 0 -450 50 H I C CNN "Code"
F6 "1649-SCD40-D-R2CT-ND" 0 -550 50 H I C CNN "Digikey"
F7 "X" 0 -650 50 H I C CNN "Mouser"
F8 "X" 0 -750 50 H I C CNN "Farnell"
F9 "X" 0 -850 50 H I C CNN "TME"
DRAW
S 250 200 -250 -200 0 1 0 f
X VSS 0 -350 -150 100 R 50 50 1 1 W N
X DNC 1 -50 150 100 R 50 50 1 1 N N
X SDA 10 350 50 100 L 50 50 1 1 B
X DNC 11 -200 150 100 R 50 50 1 1 N N
X DNC 12 -200 100 100 R 50 50 1 1 N N
X DNC 13 -200 50 100 R 50 50 1 1 N N
X DNC 14 -50 50 100 R 50 50 1 1 N N
X DNC 15 -200 0 100 R 50 50 1 1 N N
X DNC 16 -50 0 100 R 50 50 1 1 N N
X DNC 17 -200 -50 100 R 50 50 1 1 N N
X DNC 18 -50 -50 100 R 50 50 1 1 N N
X VDDH 19 -350 50 100 R 50 50 1 1 W
X DNC 2 -200 -100 100 R 50 50 1 1 N N
X VSS 20 -350 -150 100 R 50 50 1 1 W N
X DNC 3 -50 -100 100 R 50 50 1 1 N N
X DNC 4 -200 -150 100 R 50 50 1 1 N N
X DNC 5 -50 -150 100 R 50 50 1 1 N N
X VSS 6 -350 -150 100 R 50 50 1 1 W
X VDD 7 -350 150 100 R 50 50 1 1 W
X DNC 8 -50 100 100 R 50 50 1 1 N N
X SCL 9 350 -50 100 L 50 50 1 1 B
ENDDRAW
ENDDEF
#
# HD_Sensors_SHT40-AD1B-R2
#
DEF HD_Sensors_SHT40-AD1B-R2 U 0 40 Y Y 1 F N
F0 "U" 0 350 50 H V C CNN
F1 "HD_Sensors_SHT40-AD1B-R2" 0 250 50 H V C CNN
F2 "HD_Sensors:SHT4x" 0 -250 50 H I C CNN
F3 "" 0 50 50 H I C CNN
F4 "Sensirion AG" 0 -350 50 H I C CNN "Manufacturer"
F5 "SHT40-AD1B-R2" 0 -450 50 H I C CNN "Code"
F6 "1649-SHT40-AD1B-R2CT-ND" 0 -550 50 H I C CNN "Digikey"
F7 "403-SHT40-AD1B-R2" 0 -650 50 H I C CNN "Mouser"
F8 "3586476" 0 -750 50 H I C CNN "Farnell"
F9 "SHT40-AD1B-R2" 0 -850 50 H I C CNN "TME"
DRAW
S 250 200 -250 -200 0 1 0 f
X SDA 1 350 50 100 L 50 50 1 1 B
X SCL 2 350 -50 100 L 50 50 1 1 B
X VDD 3 -350 150 100 R 50 50 1 1 W
X VSS 4 -350 -150 100 R 50 50 1 1 W
ENDDRAW
ENDDEF
#
#End Library

View File

@ -1,3 +0,0 @@
EESchema-DOCLIB Version 2.0
#
#End Doc Library

View File

@ -1,889 +0,0 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# +3V3-HD_Power_Symbols
#
DEF +3V3-HD_Power_Symbols #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "+3V3-HD_Power_Symbols" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +3V3 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# +5V-HD_Power_Symbols
#
DEF +5V-HD_Power_Symbols #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "+5V-HD_Power_Symbols" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +5V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# 0686F0500-01-HD_Other
#
DEF 0686F0500-01-HD_Other F 0 40 Y Y 1 F N
F0 "F" 0 200 50 H V C CNN
F1 "0686F0500-01-HD_Other" 0 -100 50 H V C CNN
F2 "HD_Other:F0603" 0 -200 50 H I C CNN
F3 "" 0 200 50 H I C CNN
F4 "2834860" 0 -700 50 H I C CNN "Farnell"
F5 "C1F-500" 0 -800 50 H I C CNN "TME"
F6 "530-0686F0500-01" 0 -600 50 H I C CNN "Mouser"
F7 "507-2156-1-ND" 0 -500 50 H I C CNN "Digikey"
F8 "Bel Fuse Inc." 0 -300 50 H I C CNN "Manufacturer"
F9 "0686F0500-01" 0 -400 50 H I C CNN "Code"
F10 "Eaton - Electronics Division" 1050 -300 50 H I C CNN "Alt_Manufacturer"
F11 "CC06FA500MA-TR" 1100 -400 50 H I C CNN "Alt_Code"
DRAW
S 100 -30 -100 30 1 1 10 N
P 2 1 1 0 -100 0 100 0 N
X ~ 1 -150 0 50 R 50 50 1 1 P
X ~ 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# 0ZCJ0010FF2E-HD_Other
#
DEF 0ZCJ0010FF2E-HD_Other F 0 40 Y Y 1 F N
F0 "F" 0 200 50 H V C CNN
F1 "0ZCJ0010FF2E-HD_Other" 0 -100 50 H V C CNN
F2 "HD_Other:F1206" 0 -200 50 H I C CNN
F3 "" 0 200 50 H I C CNN
F4 "Bel Fuse Inc." 0 -300 50 H I C CNN "Manufacturer"
F5 "0ZCJ0010FF2E" 0 -400 50 H I C CNN "Code"
F6 "Eaton - Electronics Division" 1050 -300 50 H I C CNN "Alt_Manufacturer"
F7 "PTS120660V010" 1100 -400 50 H I C CNN "Alt_Code"
F8 "507-1794-1-ND" 0 -500 50 H I C CNN "Digikey"
F9 "530-0ZCJ0010FF2E" 0 -600 50 H I C CNN "Mouser"
F10 "2834880" 0 -700 50 H I C CNN "Farnell"
F11 " 0ZCJ0010FF2E" 0 -800 50 H I C CNN "TME"
DRAW
S 100 -30 -100 30 1 1 10 N
P 2 1 1 0 -100 0 100 0 N
X ~ 1 -150 0 50 R 50 50 1 1 P
X ~ 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# AQ12-02HTG-HD_Diodes
#
DEF AQ12-02HTG-HD_Diodes D 0 40 Y N 1 F N
F0 "D" 250 100 50 H V C CNN
F1 "AQ12-02HTG-HD_Diodes" 475 0 50 H V C CNN
F2 "HD_SOT:SOT-23" 0 -300 50 H I C CNN
F3 "" -50 600 50 H I C CNN
F4 "Littelfuse Inc." 0 -400 50 H I C CNN "Manufacturer"
F5 "AQ12-02HTG" 0 -500 50 H I C CNN "Code"
F6 "Bourns" 1000 -400 50 H I C CNN "Alt_Manufacturer"
F7 "CDSOT23-SM712" 950 -500 50 H I C CNN "Alt_Code"
F8 "18-AQ12-02HTGCT-ND" 0 -600 50 H I C CNN "Digikey"
F9 "576-AQ12-02HTG" 0 -700 50 H I C CNN "Mouser"
F10 "X" 0 -800 50 H I C CNN "Farnell"
F11 "X" 0 -900 50 H I C CNN "TME"
DRAW
S -200 150 200 -100 1 1 0 f
P 4 0 1 0 -50 100 -150 100 -100 50 -50 100 F
P 2 1 1 0 -100 100 -100 150 N
P 2 1 1 0 0 -100 0 -50 N
P 2 1 1 0 100 100 100 150 N
P 4 1 1 0 -150 0 -50 0 -100 50 -150 0 F
P 4 1 1 0 -150 60 -140 50 -60 50 -50 40 N
P 4 1 1 0 -100 0 -100 -50 100 -50 100 0 N
P 4 1 1 0 50 0 150 0 100 50 50 0 F
P 4 1 1 0 50 60 60 50 140 50 150 40 N
P 4 1 1 0 150 100 50 100 100 50 150 100 F
X 1 1 -100 250 100 D 50 50 1 1 I
X 2 2 100 250 100 D 50 50 1 1 I
X 3 3 0 -200 100 U 50 50 1 1 I
ENDDRAW
ENDDEF
#
# ASMB-KTF0-0A306-HD_Diodes
#
DEF ASMB-KTF0-0A306-HD_Diodes LD 0 40 Y N 1 F N
F0 "LD" 0 400 50 H V C CNN
F1 "ASMB-KTF0-0A306-HD_Diodes" 0 -350 50 H V C CNN
F2 "HD_Diodes:LED_ASMB-KTF0-0A306" 0 -450 50 H I C CNN
F3 "" 0 -1000 50 H I C CNN
F4 "Broadcom Limited" 0 -550 50 H I C CNN "Manufacturer"
F5 "ASMB-KTF0-0A306" 0 -650 50 H I C CNN "Code"
F6 "516-3906-1-ND" 0 -750 50 H I C CNN "Digikey"
F7 "630-ASMB-KTF0-0A306" 0 -850 50 H I C CNN "Mouser"
F8 "2858363" 0 -950 50 H I C CNN "Farnell"
F9 "X" 0 -1050 50 H I C CNN "TME"
DRAW
T 0 0 -100 50 0 0 0 BLUE Normal 0 C C
T 0 0 100 50 0 0 0 GREEN Normal 0 C C
T 0 0 300 50 0 0 0 RED Normal 0 C C
S -200 350 200 -300 0 0 0 f
P 2 0 1 0 -200 -200 -50 -200 N
P 2 0 1 0 -200 0 -50 0 N
P 2 0 1 0 -200 200 -50 200 N
P 2 0 1 0 150 0 50 0 N
P 3 0 1 0 50 200 150 200 150 0 N
P 4 0 1 0 50 -200 150 -200 150 0 200 0 N
P 2 1 1 0 -50 -200 50 -200 N
P 2 1 1 8 -50 -150 -50 -250 N
P 2 1 1 0 -50 0 50 0 N
P 2 1 1 8 -50 50 -50 -50 N
P 2 1 1 0 -50 200 50 200 N
P 2 1 1 8 -50 250 -50 150 N
P 4 1 1 8 50 -150 50 -250 -50 -200 50 -150 N
P 4 1 1 8 50 50 50 -50 -50 0 50 50 N
P 4 1 1 8 50 250 50 150 -50 200 50 250 N
P 5 1 1 0 -120 -170 -180 -110 -150 -110 -180 -110 -180 -140 N
P 5 1 1 0 -120 30 -180 90 -150 90 -180 90 -180 60 N
P 5 1 1 0 -120 230 -180 290 -150 290 -180 290 -180 260 N
P 5 1 1 0 -70 -170 -130 -110 -100 -110 -130 -110 -130 -140 N
P 5 1 1 0 -70 30 -130 90 -100 90 -130 90 -130 60 N
P 5 1 1 0 -70 230 -130 290 -100 290 -130 290 -130 260 N
X A 1 300 0 100 L 50 50 1 1 P
X K 2 -300 200 100 R 50 50 1 1 P
X K 3 -300 0 100 R 50 50 1 1 P
X K 4 -300 -200 100 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# C0402_100nF_50V_X7R-HD_Capacitors
#
DEF C0402_100nF_50V_X7R-HD_Capacitors C 0 40 N N 1 F N
F0 "C" 200 150 50 H V C CNN
F1 "C0402_100nF_50V_X7R-HD_Capacitors" 0 -200 50 H I C CNN
F2 "HD_Capacitors:C0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "100nF" 250 50 50 H V C CNN "Capacitance"
F5 "50V" 200 -50 50 H V C CNN "Voltage"
F6 "X7R" 0 0 50 H I C CNN "Dielectric"
F7 "Murata Electronics" 0 -400 50 H I C CNN "Manufacturer"
F8 "GRM155R71H104KE14D" 0 -500 50 H I C CNN "Code"
F9 "490-10700-1-ND" 0 -600 50 H I C CNN "Digikey"
F10 "81-GRM155R71H104KE4D" 0 -700 50 H I C CNN "Mouser"
F11 "2611912" 0 -800 50 H I C CNN "Farnell"
F12 "GRM155R71H104KE14D" 0 -900 50 H I C CNN "TME"
F13 "TDK Corporation" 900 -400 50 H I C CNN "Alt_Manufacturer"
F14 "C1005X7R1H104K050BB" 900 -500 50 H I C CNN "Alt_Code"
DRAW
P 2 1 1 20 -80 -30 80 -30 N
P 2 1 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# C0402_1uF_35V_X5R-HD_Capacitors
#
DEF C0402_1uF_35V_X5R-HD_Capacitors C 0 40 N N 1 F N
F0 "C" 200 150 50 H V C CNN
F1 "C0402_1uF_35V_X5R-HD_Capacitors" 0 -200 50 H I C CNN
F2 "HD_Capacitors:C0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "1uF" 200 50 50 H V C CNN "Capacitance"
F5 "35V" 200 -50 50 H V C CNN "Voltage"
F6 "X5R" 0 0 50 H I C CNN "Dielectric"
F7 "TDK Corporation" 0 -400 50 H I C CNN "Manufacturer"
F8 "C1005X5R1V105K050BE" 0 -500 50 H I C CNN "Code"
F9 "445-175218-1-ND" 0 -600 50 H I C CNN "Digikey"
F10 "810-C1005X5R1V105K" 0 -700 50 H I C CNN "Mouser"
F11 "3416060" 0 -800 50 H I C CNN "Farnell"
F12 "X" 0 -900 50 H I C CNN "TME"
F13 "Kyocera International Inc. Electronic Components" 900 -400 50 H I C CNN "Alt_Manufacturer"
F14 "CM05X5R105K35AH" 900 -500 50 H I C CNN "Alt_Code"
DRAW
P 2 1 1 20 -80 -30 80 -30 N
P 2 1 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# C0603_10uF_16V_X5R-HD_Capacitors
#
DEF C0603_10uF_16V_X5R-HD_Capacitors C 0 40 N N 1 F N
F0 "C" 200 150 50 H V C CNN
F1 "C0603_10uF_16V_X5R-HD_Capacitors" 0 -200 50 H I C CNN
F2 "HD_Capacitors:C0603" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "10uF" 200 50 50 H V C CNN "Capacitance"
F5 "16V" 200 -50 50 H V C CNN "Voltage"
F6 "X5R" 0 0 50 H I C CNN "Dielectric"
F7 "Taiyo Yuden" 0 -400 50 H I C CNN "Manufacturer"
F8 "EMK107BBJ106MA-T" 0 -500 50 H I C CNN "Code"
F9 "587-3238-1-ND" 0 -600 50 H I C CNN "Digikey"
F10 "963-EMK107BBJ106MA-T" 0 -700 50 H I C CNN "Mouser"
F11 "2779064" 0 -800 50 H I C CNN "Farnell"
F12 "CL10A106MO8NQNC" 0 -900 50 H I C CNN "TME"
F13 "Murata Electronics" 950 -400 50 H I C CNN "Alt_Manufacturer"
F14 "GRM188R61C106MA73D" 950 -500 50 H I C CNN "Alt_Code"
DRAW
P 2 1 1 20 -80 -30 80 -30 N
P 2 1 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# C1210_22uF_35V_X5R-HD_Capacitors
#
DEF C1210_22uF_35V_X5R-HD_Capacitors C 0 40 N N 1 F N
F0 "C" 200 150 50 H V C CNN
F1 "C1210_22uF_35V_X5R-HD_Capacitors" 0 -200 50 H I C CNN
F2 "HD_Capacitors:C1210" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "22uF" 200 50 50 H V C CNN "Capacitance"
F5 "35V" 200 -50 50 H V C CNN "Voltage"
F6 "X5R" 0 0 50 H I C CNN "Dielectric"
F7 "Taiyo Yuden" 0 -400 50 H I C CNN "Manufacturer"
F8 "GMK325BJ226MM-P" 0 -500 50 H I C CNN "Code"
F9 "587-5853-1-ND" 0 -600 50 H I C CNN "Digikey"
F10 "963-GMK325BJ226MM-P" 0 -700 50 H I C CNN "Mouser"
F11 "X" 0 -800 50 H I C CNN "Farnell"
F12 "X" 0 -900 50 H I C CNN "TME"
F13 "Taiyo Yuden" 950 -400 50 H I C CNN "Alt_Manufacturer"
F14 "GMK325BJ226MM-T" 950 -500 50 H I C CNN "Alt_Code"
DRAW
P 2 1 1 20 -80 -30 80 -30 N
P 2 1 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# GND-HD_Power_Symbols
#
DEF GND-HD_Power_Symbols #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "GND-HD_Power_Symbols" 0 -150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -25 -75 25 -75 N
P 2 0 1 0 -5 -100 5 -100 N
P 2 0 1 0 0 -50 0 0 N
P 2 0 1 0 50 -50 -50 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# JST_ZH5_Side_Entry_S5B-ZR-SM4A-TF-HD_Connectors
#
DEF JST_ZH5_Side_Entry_S5B-ZR-SM4A-TF-HD_Connectors J 0 1 Y N 1 F N
F0 "J" 50 300 50 H V C CNN
F1 "JST_ZH5_Side_Entry_S5B-ZR-SM4A-TF-HD_Connectors" 50 -300 50 H V C CNN
F2 "HD_Connectors:JST_ZH_5PIN_S5B-ZR-SM4A-TF" 50 -400 50 H I C CNN
F3 "" -450 -300 50 H I C CNN
F4 "455-1696-1-ND" 50 -500 50 H I C CNN "Digikey"
F5 "X" 50 -600 50 H I C CNN "Mouser"
F6 "2399336" 50 -700 50 H I C CNN "Farnell"
F7 "S5B-ZR-SM4A-TF" 50 -800 50 H I C CNN "TME"
DRAW
S 0 250 100 -250 0 1 0 f
X MH 0 200 -200 100 L 50 50 1 1 I
X 1 1 -100 200 100 R 50 50 1 1 B
X 2 2 -100 100 100 R 50 50 1 1 B
X 3 3 -100 0 100 R 50 50 1 1 I
X 4 4 -100 -100 100 R 50 50 1 1 I
X 5 5 -100 -200 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# MAX15062C-HD_PMICs
#
DEF MAX15062C-HD_PMICs U 0 40 Y Y 1 F N
F0 "U" -350 300 50 H V C CNN
F1 "MAX15062C-HD_PMICs" 100 300 50 H V C CNN
F2 "HD_DFN_QFN:TDFN-8-1EP_2x2mm_P0.5mm" 0 -450 50 H I C CNN
F3 "" -150 300 50 H I C CNN
F4 "Maxim Integrated" 0 -550 50 H I C CNN "Manufacturer"
F5 "MAX15062CATA+T" 0 -650 50 H I C CNN "Code"
F6 "MAX15062CATA+TCT-ND" 0 -750 50 H I C CNN "Digikey"
F7 "700-MAX15062CATA+T" 0 -850 50 H I C CNN "Mouser"
F8 "X" 0 -1050 50 H I C CNN "TME"
F9 "2516652" 0 -950 50 H I C CNN "Farnell"
DRAW
S -450 250 450 -250 0 1 0 f
X VIN 1 -550 200 100 R 50 50 1 1 I
X EN/UVLO 2 -550 100 100 R 50 50 1 1 I
X VCC 3 -550 -200 100 R 50 50 1 1 I
X FB/VOUT 4 550 100 100 L 50 50 1 1 I
X MODE 5 -550 -100 100 R 50 50 1 1 I
X nRST 6 -550 0 100 R 50 50 1 1 I
X GND 7 0 -350 100 U 50 50 1 1 I
X LX 8 550 200 100 L 50 50 1 1 w
ENDDRAW
ENDDEF
#
# NRS4018T330MDGJ-HD_Inductors
#
DEF NRS4018T330MDGJ-HD_Inductors L 0 40 N N 1 F N
F0 "L" 0 200 50 H V C CNN
F1 "NRS4018T330MDGJ-HD_Inductors" 0 -50 50 H V C CNN
F2 "HD_Inductors:L_NR40xx" 0 -150 50 H I C CNN
F3 "" 0 350 50 H I C CNN
F4 "33uH" 0 100 50 H V C CNN "Inductance"
F5 "550mA" 250 100 50 H I C CNN "Current Rating"
F6 "Taiyo Yuden" 0 -250 50 H I C CNN "Manufacturer"
F7 "NRS4018T330MDGJ" 0 -350 50 H I C CNN "Code"
F8 "587-2891-1-ND" 0 -450 50 H I C CNN "Digikey"
F9 "963-NRS4018T330MDGJ" 0 -550 50 H I C CNN "Mouser"
F10 "X" 0 -650 50 H I C CNN "Farnell"
F11 "X" 0 -750 50 H I C CNN "TME"
DRAW
A -75 0 25 1 1799 1 1 0 N -50 0 -100 0
A -25 0 25 1 1799 1 1 0 N 0 0 -50 0
A 25 0 25 1 1799 1 1 0 N 50 0 0 0
A 75 0 25 1 1799 1 1 0 N 100 0 50 0
X 1 1 -150 0 50 R 50 50 1 1 P
X 2 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# NRS4018T470MDGJ-HD_Inductors
#
DEF NRS4018T470MDGJ-HD_Inductors L 0 40 N N 1 F N
F0 "L" 0 200 50 H V C CNN
F1 "NRS4018T470MDGJ-HD_Inductors" 0 -50 50 H V C CNN
F2 "HD_Inductors:L_NR40xx" 0 -150 50 H I C CNN
F3 "" 0 350 50 H I C CNN
F4 "47uH" 0 100 50 H V C CNN "Inductance"
F5 "440mA" 250 100 50 H I C CNN "Current Rating"
F6 "Taiyo Yuden" 0 -250 50 H I C CNN "Manufacturer"
F7 "NRS4018T470MDGJ" 0 -350 50 H I C CNN "Code"
F8 "587-5935-1-ND" 0 -450 50 H I C CNN "Digikey"
F9 "963-NRS4018T470MDGJ" 0 -550 50 H I C CNN "Mouser"
F10 "X" 0 -650 50 H I C CNN "Farnell"
F11 "X" 0 -750 50 H I C CNN "TME"
DRAW
A -75 0 25 1 1799 1 1 0 N -50 0 -100 0
A -25 0 25 1 1799 1 1 0 N 0 0 -50 0
A 25 0 25 1 1799 1 1 0 N 50 0 0 0
A 75 0 25 1 1799 1 1 0 N 100 0 50 0
X 1 1 -150 0 50 R 50 50 1 1 P
X 2 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# NX3020NAKV,115-HD_Transistors
#
DEF NX3020NAKV,115-HD_Transistors Q 0 40 Y Y 2 L N
F0 "Q" -250 250 50 H V C CNN
F1 "NX3020NAKV,115-HD_Transistors" -100 -200 50 H V C CNN
F2 "HD_SOT:SOT563-6" 0 -350 50 H I C CNN
F3 "" 0 -350 50 H I C CNN
F4 "Nexperia USA Inc." 0 -450 50 H I C CNN "Manufacturer"
F5 "NX3020NAKV,115" 0 -550 50 H I C CNN "Code"
F6 "ON Semiconductor" 950 -450 50 H I C CNN "Alt_Manufacturer"
F7 "FDY3000NZCT-ND" 950 -550 50 H I C CNN "Alt_Code"
F8 "1727-1287-1-ND" 0 -650 50 H I C CNN "Digikey"
F9 "771-NX3020NAKV115" 0 -750 50 H I C CNN "Mouser"
F10 "2311182" 0 -850 50 H I C CNN "Farnell"
F11 "X" 0 -950 50 H I C CNN "TME"
DRAW
S -300 200 300 -150 1 1 0 f
S -300 200 300 -150 2 1 0 f
P 2 1 1 0 -120 10 -110 10 N
P 2 1 1 0 -120 15 -110 15 N
P 2 1 1 0 -115 0 -130 -20 N
P 2 1 1 0 -115 0 -130 20 N
P 2 1 1 0 -115 0 -100 -20 N
P 2 1 1 0 -115 0 -100 20 N
P 2 1 1 0 -115 100 -115 -100 N
P 2 1 1 0 -110 -15 -120 -15 N
P 2 1 1 0 -110 -10 -120 -10 N
P 2 1 1 0 -75 0 75 0 N
P 2 1 1 0 -50 20 -50 100 N
P 2 1 1 0 -50 100 -300 100 N
P 2 1 1 0 -50 100 0 100 N
P 2 1 1 0 -10 135 -10 140 N
P 2 1 1 0 -10 165 -10 140 N
P 2 1 1 0 0 -50 0 -10 N
P 2 1 1 0 0 -10 0 0 N
P 2 1 1 0 0 20 -15 40 N
P 2 1 1 0 0 50 0 20 N
P 2 1 1 0 0 100 0 50 N
P 2 1 1 0 50 25 50 20 N
P 3 1 1 0 -300 -100 0 -100 0 -50 N
P 3 1 1 0 -130 20 -105 20 -100 20 N
P 3 1 1 0 -100 -20 -125 -20 -130 -20 N
P 3 1 1 0 -65 20 -40 20 -35 20 N
P 3 1 1 0 -15 20 10 20 15 20 N
P 3 1 1 0 -15 40 15 40 0 20 N
P 3 1 1 0 -10 40 -10 35 -5 35 N
P 3 1 1 0 -5 35 10 35 10 40 N
P 3 1 1 0 -5 140 -5 155 -5 160 N
P 3 1 1 0 35 20 60 20 65 20 N
P 3 1 1 0 50 25 50 100 300 100 N
P 4 1 1 0 -125 20 -125 15 -105 20 -105 15 N
P 4 1 1 0 -115 100 -115 150 115 150 115 100 N
P 4 1 1 0 -105 -20 -105 -15 -125 -20 -125 -15 N
P 4 1 1 0 -10 160 -10 140 5 150 -10 160 N
P 4 1 1 0 -5 35 5 35 0 30 -5 35 N
P 4 1 1 0 15 150 -15 170 -15 130 15 150 N
P 4 1 1 0 15 150 15 170 15 150 15 130 N
P 5 1 1 0 -145 -10 -135 0 -115 0 -95 0 -85 10 N
P 2 2 1 0 -120 10 -110 10 N
P 2 2 1 0 -120 15 -110 15 N
P 2 2 1 0 -115 0 -130 -20 N
P 2 2 1 0 -115 0 -130 20 N
P 2 2 1 0 -115 0 -100 -20 N
P 2 2 1 0 -115 0 -100 20 N
P 2 2 1 0 -115 100 -115 -100 N
P 2 2 1 0 -110 -15 -120 -15 N
P 2 2 1 0 -110 -10 -120 -10 N
P 2 2 1 0 -75 0 75 0 N
P 2 2 1 0 -50 20 -50 100 N
P 2 2 1 0 -50 100 -300 100 N
P 2 2 1 0 -10 135 -10 140 N
P 2 2 1 0 -10 165 -10 140 N
P 2 2 1 0 0 -50 0 -10 N
P 2 2 1 0 0 -10 0 0 N
P 2 2 1 0 0 20 -15 40 N
P 2 2 1 0 0 50 0 20 N
P 2 2 1 0 0 100 -50 100 N
P 2 2 1 0 0 100 0 50 N
P 2 2 1 0 50 20 50 100 N
P 2 2 1 0 300 100 50 100 N
P 3 2 1 0 -300 -100 0 -100 0 -50 N
P 3 2 1 0 -130 20 -105 20 -100 20 N
P 3 2 1 0 -100 -20 -125 -20 -130 -20 N
P 3 2 1 0 -65 20 -40 20 -35 20 N
P 3 2 1 0 -15 20 10 20 15 20 N
P 3 2 1 0 -15 40 15 40 0 20 N
P 3 2 1 0 -10 40 -10 35 -5 35 N
P 3 2 1 0 -5 35 10 35 10 40 N
P 3 2 1 0 -5 140 -5 155 -5 160 N
P 3 2 1 0 35 20 60 20 65 20 N
P 4 2 1 0 -125 20 -125 15 -105 20 -105 15 N
P 4 2 1 0 -115 100 -115 150 115 150 115 100 N
P 4 2 1 0 -105 -20 -105 -15 -125 -20 -125 -15 N
P 4 2 1 0 -10 160 -10 140 5 150 -10 160 N
P 4 2 1 0 -5 35 5 35 0 30 -5 35 N
P 4 2 1 0 15 150 -15 170 -15 130 15 150 N
P 4 2 1 0 15 150 15 170 15 150 15 130 N
P 5 2 1 0 -145 -10 -135 0 -115 0 -95 0 -85 10 N
X S1 1 -400 100 100 R 50 50 1 1 B
X G1 2 -400 -100 100 R 50 50 1 1 B
X D1 6 400 100 100 L 50 50 1 1 B
X D2 3 400 100 100 L 50 50 2 1 B
X S2 4 -400 100 100 R 50 50 2 1 B
X G2 5 -400 -100 100 R 50 50 2 1 B
ENDDRAW
ENDDEF
#
# PMEG2005EJ115-HD_Diodes
#
DEF PMEG2005EJ115-HD_Diodes D 0 40 N N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "PMEG2005EJ115-HD_Diodes" 0 -100 50 H V C CNN
F2 "HD_Diodes:D_SOD-323F" 0 -200 50 H I C CNN
F3 "" 0 -300 50 H I C CNN
F4 "Nexperia" 0 -300 50 H I C CNN "Manufacturer"
F5 " 771-PMEG2005EJ115" 0 -400 50 H I C CNN "Code"
F6 "1727-3854-1-ND" 0 -500 50 H I C CNN "Digikey"
F7 "771-PMEG2005EJ115" 0 -600 50 H I C CNN "Mouser"
F8 "1757760" 0 -700 50 H I C CNN "Farnell"
F9 "PMEG2005EJ.115" 0 -800 50 H I C CNN "TME"
$FPLIST
TO-???*
*_Diode_*
*SingleDiode*
D_*
$ENDFPLIST
DRAW
P 2 1 1 0 50 0 -50 0 N
P 4 1 1 8 50 50 50 -50 -50 0 50 50 N
P 6 1 1 8 -75 25 -75 50 -50 50 -50 -50 -25 -50 -25 -25 N
X K 1 -150 0 100 R 50 50 1 1 P
X A 2 150 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# R0402_100k_5%_1d16W-HD_Resistors
#
DEF R0402_100k_5%_1d16W-HD_Resistors R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "R0402_100k_5%_1d16W-HD_Resistors" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "100k" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "5%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "RC0402JR-07100KL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402FT100K" 800 -500 50 H I C CNN "Alt_Code"
F11 "311-100KJRCT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402JR-07100KL" 0 -700 50 H I C CNN "Mouser"
F13 "9233008" 0 -800 50 H I C CNN "Farnell"
F14 "RC0402JR-07100KL" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# R0402_10k_5%_1d16W-HD_Resistors
#
DEF R0402_10k_5%_1d16W-HD_Resistors R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "R0402_10k_5%_1d16W-HD_Resistors" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "10k" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "5%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "RC0402JR-0710KL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402JT10K0" 800 -500 50 H I C CNN "Alt_Code"
F11 "311-10KJRCT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402JR-0710KL" 0 -700 50 H I C CNN "Mouser"
F13 "*" 0 -800 50 H I C CNN "Farnell"
F14 "SMD0402-10K" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# R0402_120R_1%_1d16W-HD_Resistors
#
DEF R0402_120R_1%_1d16W-HD_Resistors R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "R0402_120R_1%_1d16W-HD_Resistors" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "120R" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "1%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "RC0402JR-07120RL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402JT120R" 800 -500 50 H I C CNN "Alt_Code"
F11 "311-120JRCT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402JR-07120RL" 0 -700 50 H I C CNN "Mouser"
F13 "9232656" 0 -800 50 H I C CNN "Farnell"
F14 "RC0402FR-07120RL" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# R0402_1k_1%_1d16W-HD_Resistors
#
DEF R0402_1k_1%_1d16W-HD_Resistors R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "R0402_1k_1%_1d16W-HD_Resistors" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "1k" 100 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "1%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "AC0402FR-071KL" 0 -500 50 H I C CNN "Code"
F9 "TE Connectivity Passive Product" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "CRGCQ0402F1K0" 800 -500 50 H I C CNN "Alt_Code"
F11 "311-1KLBCT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402JR-131KL" 0 -700 50 H I C CNN "Mouser"
F13 "3495181" 0 -800 50 H I C CNN "Farnell"
F14 "SMD0402-1K" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# R0402_267k_1%_1d16W-HD_Resistors
#
DEF R0402_267k_1%_1d16W-HD_Resistors R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "R0402_267k_1%_1d16W-HD_Resistors" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "267k" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "1%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "AC0402FR-07267KL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402FT267KCT-ND" 800 -500 50 H I C CNN "Alt_Code"
F11 "YAG5275CT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-AC0402FR-07267KL " 0 -700 50 H I C CNN "Mouser"
F13 "2140969" 0 -800 50 H I C CNN "Farnell"
F14 "X" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# R0402_453k_1%_1d16W-HD_Resistors
#
DEF R0402_453k_1%_1d16W-HD_Resistors R 0 40 N N 1 F N
F0 "R" 100 50 50 H V C CNN
F1 "R0402_453k_1%_1d16W-HD_Resistors" 0 -200 50 H I C CNN
F2 "HD_Resistors:R0402" 0 -300 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "453k" 150 -50 50 H V C CNN "Resistance"
F5 "1/16W" 300 50 50 H I C CNN "Power"
F6 "1%" 300 -50 50 H I C CNN "Precision"
F7 "Yageo" 0 -400 50 H I C CNN "Manufacturer"
F8 "RC0402FR-07453KL" 0 -500 50 H I C CNN "Code"
F9 "Stackpole Electronics Inc" 800 -400 50 H I C CNN "Alt_Manufacturer"
F10 "RMCF0402FT453K" 800 -500 50 H I C CNN "Alt_Code"
F11 "YAG3164CT-ND" 0 -600 50 H I C CNN "Digikey"
F12 "603-RC0402FR-07453KL" 0 -700 50 H I C CNN "Mouser"
F13 "2140999" 0 -800 50 H I C CNN "Farnell"
F14 "RC0402FR-07453KL" 0 -900 50 H I C CNN "TME"
DRAW
S -40 -100 40 100 1 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# SCD40-D-R2-HD_Sensors
#
DEF SCD40-D-R2-HD_Sensors U 0 40 Y Y 1 F N
F0 "U" 0 350 50 H V C CNN
F1 "SCD40-D-R2-HD_Sensors" 0 250 50 H V C CNN
F2 "HD_Sensors:SCD4x" 0 -250 50 H I C CNN
F3 "" 0 50 50 H I C CNN
F4 "Sensirion AG" 0 -350 50 H I C CNN "Manufacturer"
F5 "SCD40-D-R2" 0 -450 50 H I C CNN "Code"
F6 "1649-SCD40-D-R2CT-ND" 0 -550 50 H I C CNN "Digikey"
F7 "X" 0 -650 50 H I C CNN "Mouser"
F8 "X" 0 -750 50 H I C CNN "Farnell"
F9 "X" 0 -850 50 H I C CNN "TME"
DRAW
S 250 200 -250 -200 0 1 0 f
X VSS 0 -350 -150 100 R 50 50 1 1 W N
X DNC 1 -50 150 100 R 50 50 1 1 N N
X SDA 10 350 50 100 L 50 50 1 1 B
X DNC 11 -200 150 100 R 50 50 1 1 N N
X DNC 12 -200 100 100 R 50 50 1 1 N N
X DNC 13 -200 50 100 R 50 50 1 1 N N
X DNC 14 -50 50 100 R 50 50 1 1 N N
X DNC 15 -200 0 100 R 50 50 1 1 N N
X DNC 16 -50 0 100 R 50 50 1 1 N N
X DNC 17 -200 -50 100 R 50 50 1 1 N N
X DNC 18 -50 -50 100 R 50 50 1 1 N N
X VDDH 19 -350 50 100 R 50 50 1 1 W
X DNC 2 -200 -100 100 R 50 50 1 1 N N
X VSS 20 -350 -150 100 R 50 50 1 1 W N
X DNC 3 -50 -100 100 R 50 50 1 1 N N
X DNC 4 -200 -150 100 R 50 50 1 1 N N
X DNC 5 -50 -150 100 R 50 50 1 1 N N
X VSS 6 -350 -150 100 R 50 50 1 1 W
X VDD 7 -350 150 100 R 50 50 1 1 W
X DNC 8 -50 100 100 R 50 50 1 1 N N
X SCL 9 350 -50 100 L 50 50 1 1 B
ENDDRAW
ENDDEF
#
# SD24-7-HD_Diodes
#
DEF SD24-7-HD_Diodes D 0 40 N N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "SD24-7-HD_Diodes" 0 -100 50 H V C CNN
F2 "HD_Diodes:D_SOD-323" 0 -200 50 H I C CNN
F3 "" 0 -300 50 H I C CNN
F4 "Diodes Incorporated" 0 -300 50 H I C CNN "Manufacturer"
F5 "SD24-7" 0 -400 50 H I C CNN "Code"
F6 "31-SD24-7CT-ND" 0 -500 50 H I C CNN "Digikey"
F7 "621-SD24-7" 0 -600 50 H I C CNN "Mouser"
F8 "X" 0 -700 50 H I C CNN "Farnell"
F9 "X" 0 -800 50 H I C CNN "TME"
$FPLIST
TO-???*
*_Diode_*
*SingleDiode*
D_*
$ENDFPLIST
DRAW
P 2 1 1 0 50 0 -50 0 N
P 4 1 1 0 -75 50 -50 25 -50 -25 -25 -50 N
P 4 1 1 8 50 50 50 -50 -50 0 50 50 N
X K 1 -150 0 100 R 50 50 1 1 P
X A 2 150 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# SHT40-AD1B-R2-HD_Sensors
#
DEF SHT40-AD1B-R2-HD_Sensors U 0 40 Y Y 1 F N
F0 "U" 0 350 50 H V C CNN
F1 "SHT40-AD1B-R2-HD_Sensors" 0 250 50 H V C CNN
F2 "HD_Sensors:SHT4x" 0 -250 50 H I C CNN
F3 "" 0 50 50 H I C CNN
F4 "Sensirion AG" 0 -350 50 H I C CNN "Manufacturer"
F5 "SHT40-AD1B-R2" 0 -450 50 H I C CNN "Code"
F6 "1649-SHT40-AD1B-R2CT-ND" 0 -550 50 H I C CNN "Digikey"
F7 "403-SHT40-AD1B-R2" 0 -650 50 H I C CNN "Mouser"
F8 "3586476" 0 -750 50 H I C CNN "Farnell"
F9 "SHT40-AD1B-R2" 0 -850 50 H I C CNN "TME"
DRAW
S 250 200 -250 -200 0 1 0 f
X SDA 1 350 50 100 L 50 50 1 1 B
X SCL 2 350 -50 100 L 50 50 1 1 B
X VDD 3 -350 150 100 R 50 50 1 1 W
X VSS 4 -350 -150 100 R 50 50 1 1 W
ENDDRAW
ENDDEF
#
# STM32L011F4U6TR-HD_MCUs
#
DEF STM32L011F4U6TR-HD_MCUs U 0 40 Y Y 1 F N
F0 "U" -300 600 50 H V C CNN
F1 "STM32L011F4U6TR-HD_MCUs" 450 600 50 H V C CNN
F2 "HD_DFN_QFN:ST_UFQFPN-20_3x3mm_P0.5mm" 0 -750 50 H I C CNN
F3 "" -50 800 50 H I C CNN
F4 "STMicroelectronics" 0 -850 50 H I C CNN "Manufacturer"
F5 "STM32L011F4U6TR" 0 -950 50 H I C CNN "Code"
F6 "497-17478-1-ND" 0 -1050 50 H I C CNN "Digikey"
F7 "511-STM32L011F4U6TR" 0 -1150 50 H I C CNN "Mouser"
F8 "2851005" 0 -1250 50 H I C CNN "Farnell"
F9 "STM32L011F4U6TR" 0 -1350 50 H I C CNN "TME"
DRAW
S -350 -550 350 550 1 1 10 f
X PC14 1 -450 150 100 R 50 50 1 1 B
X PA7 10 450 -50 100 L 50 50 1 1 B
X PB1 11 -450 -150 100 R 50 50 1 1 B
X VSS 12 -50 -650 100 U 50 50 1 1 W
X VDD 13 -50 650 100 D 50 50 1 1 W
X PA9 14 450 -150 100 L 50 50 1 1 B
X PA10 15 450 -250 100 L 50 50 1 1 B
X PA13 16 450 -350 100 L 50 50 1 1 B
X PA14 17 450 -450 100 L 50 50 1 1 B
X PB6 18 -450 -250 100 R 50 50 1 1 B
X PB7 19 -450 -350 100 R 50 50 1 1 B
X PC15 2 -450 50 100 R 50 50 1 1 B
X PB9 20 -450 -450 100 R 50 50 1 1 B
X NRST 3 -450 450 100 R 50 50 1 1 I
X VDDA 4 50 650 100 D 50 50 1 1 W
X PA0 5 450 450 100 L 50 50 1 1 B
X PA1 6 450 350 100 L 50 50 1 1 B
X PA4 7 450 250 100 L 50 50 1 1 B
X PA5 8 450 150 100 L 50 50 1 1 B
X PA6 9 450 50 100 L 50 50 1 1 B
ENDDRAW
ENDDEF
#
# SWD_Connector-HD_Connectors
#
DEF SWD_Connector-HD_Connectors SWD 0 1 Y Y 1 F N
F0 "SWD" 100 300 50 H V C CNN
F1 "SWD_Connector-HD_Connectors" 50 -300 50 H V C CNN
F2 "HD_Connectors:SWD_Connector_for_PogoHeader" 50 -400 50 H I C CNN
F3 "" -450 -300 50 H I C CNN
F4 "X" 50 -600 50 H I C CNN "Mouser"
F5 "X" 50 -700 50 H I C CNN "Farnell"
F6 "X" 50 -800 50 H I C CNN "TME"
F7 "X" 50 -500 50 H I C CNN "Digikey"
DRAW
S 0 250 250 -250 0 1 0 f
X 3V3 1 -100 200 100 R 50 50 1 1 B
X GND 2 -100 100 100 R 50 50 1 1 B
X SWDIO 3 -100 0 100 R 50 50 1 1 I
X SWCLK 4 -100 -100 100 R 50 50 1 1 I
X NRST 5 -100 -200 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# Sullins_SWR204-NRTN-D02-RA-GA-HD_Connectors
#
DEF Sullins_SWR204-NRTN-D02-RA-GA-HD_Connectors J 0 40 Y N 1 F N
F0 "J" 50 250 50 H V C CNN
F1 "Sullins_SWR204-NRTN-D02-RA-GA-HD_Connectors" 50 350 50 H I C CNN
F2 "HD_Connectors:Sullins_SWR204-NRTN-D02-RA-GA" 0 -250 50 H I C CNN
F3 "" 0 0 50 H I C CNN
F4 "Sullins Connector Solutions" 0 -350 50 H I C CNN "Manufacturer"
F5 "SWR204-NRTN-D02-RA-GA" 0 -450 50 H I C CNN "Code"
F6 "S9461-ND" 0 -550 50 H I C CNN "Digikey"
F7 "X" 0 -650 50 H I C CNN "Mouser"
F8 "X" 0 -750 50 H I C CNN "Farnell"
F9 "X" 0 -850 50 H I C CNN "TME"
DRAW
S 0 200 100 -200 0 1 0 f
X 1 1 -100 150 100 R 50 50 1 1 I
X 2 2 -100 50 100 R 50 50 1 1 I
X 3 3 -100 -50 100 R 50 50 1 1 I
X 4 4 -100 -150 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# THVD1450DRBR-HD_Communication
#
DEF THVD1450DRBR-HD_Communication U 0 40 Y Y 1 F N
F0 "U" -250 450 50 H V C CNN
F1 "THVD1450DRBR-HD_Communication" 350 450 50 H V C CNN
F2 "HD_SON:Texas_VSON8" 0 -650 50 H I C CNN
F3 "" 0 450 50 H I C CNN
F4 "Texas Instruments" 0 -750 50 H I C CNN "Manufacturer"
F5 "THVD1450DRBR" 0 -850 50 H I C CNN "Code"
F6 "296-THVD1450DRBRCT-ND" 0 -950 50 H I C CNN "Digikey"
F7 "595-THVD1450DRBR" 0 -1050 50 H I C CNN "Mouser"
F8 "X" 0 -1150 50 H I C CNN "Farnell"
F9 "X" 0 -1250 50 H I C CNN "TME"
DRAW
C -12 -145 14 1 1 10 F
C -1 59 14 1 1 10 F
C 65 75 14 1 1 10 F
S -300 400 300 -500 1 1 10 f
S 50 125 50 125 1 1 0 N
P 2 1 1 10 -160 -200 -75 -200 N
P 2 1 1 10 -160 100 -50 100 N
P 2 1 1 10 -50 -126 -50 -136 N
P 2 1 1 10 -25 -200 210 -200 N
P 3 1 1 10 -160 -100 -50 -100 -50 -125 N
P 3 1 1 10 0 50 0 0 -160 0 N
P 3 1 1 10 50 125 150 125 150 -200 N
P 3 1 1 10 100 75 100 -150 0 -150 N
P 4 1 1 10 -75 -125 -75 -225 25 -175 -75 -125 N
P 4 1 1 10 -50 100 50 150 50 50 -50 100 N
P 4 1 1 10 75 75 175 75 175 100 210 100 N
X ePAD 0 0 -600 100 U 50 50 1 1 I N
X RO 1 -400 100 100 R 50 50 1 1 O
X ~RE 2 -400 0 100 R 50 50 1 1 I
X DE 3 -400 -100 100 R 50 50 1 1 I
X DI 4 -400 -200 100 R 50 50 1 1 I
X GND 5 0 -600 100 U 50 50 1 1 W
X A 6 400 -200 100 L 50 50 1 1 B
X B 7 400 100 100 L 50 50 1 1 B
X VCC 8 0 500 100 D 50 50 1 1 W
ENDDRAW
ENDDEF
#
# VCC-HD_Power_Symbols
#
DEF VCC-HD_Power_Symbols #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "VCC-HD_Power_Symbols" 0 150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X VCC 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,7 @@
(version 1)
(rule "BGA neckdown"
(constraint track_width (min 0.1mm) (opt 0.1mm) (max 0.15mm))
(constraint clearance (min 0.05mm) (opt 0.08mm))
(condition "A.insideArea('NECK')"))

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,484 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": true,
"min_clearance": 0.0
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"filename": "board_design_settings.json",
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rule_severitieslegacy_courtyards_overlap": false,
"rule_severitieslegacy_no_courtyard_defined": false,
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.024999999999999998,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.3,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.25,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.3,
"use_height_for_length_calcs": true
},
"track_widths": [
0.0
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
},
{
"diameter": 0.5,
"drill": 0.3
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"conflicting_netclasses": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"simulation_model_issue": "ignore",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "iaq_wired_sensor.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.25,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6
},
{
"bus_width": 12,
"clearance": 0.35,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.25,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "24V",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6
}
],
"meta": {
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": [
{
"netclass": "24V",
"pattern": "Net-(D2-Pad2)"
},
{
"netclass": "24V",
"pattern": "VCC"
},
{
"netclass": "24V",
"pattern": "VIN"
}
]
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "Project_Outputs/3D_MODEL/iaq_wired_sensor.step",
"vrml": ""
},
"page_layout_descr_file": "${VL_LIBS}/Sheet_Templates/VelesLabs_Kicad_Schematic_Sheet_Template.kicad_wks"
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.25,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.08
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "${VL_LIBS}/Sheet_Templates/VelesLabs_Kicad_Schematic_Sheet_Template.kicad_wks",
"plot_directory": "Project_Outputs/Schematic/",
"spice_adjust_passive_values": false,
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true,
"spice_save_all_currents": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"99dfa524-0366-4808-b4e8-328fc38e8656",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,240 +0,0 @@
update=So 25. září 2021, 15:44:51
version=1
last_client=pcbnew
[general]
version=1
RootSch=
BoardNm=
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=
CopperLayerCount=2
BoardThickness=1
AllowMicroVias=0
AllowBlindVias=0
RequireCourtyardDefinitions=0
ProhibitOverlappingCourtyards=1
MinTrackWidth=0.25
MinViaDiameter=0.3
MinViaDrill=0.3
MinMicroViaDiameter=0.3
MinMicroViaDrill=0.09999999999999999
MinHoleToHole=0.25
TrackWidth1=0.25
ViaDiameter1=0.8
ViaDrill1=0.4
ViaDiameter2=0.5
ViaDrill2=0.3
dPairWidth1=0.25
dPairGap1=0.25
dPairViaGap1=0.25
SilkLineWidth=0.12
SilkTextSizeV=1
SilkTextSizeH=1
SilkTextSizeThickness=0.15
SilkTextItalic=0
SilkTextUpright=1
CopperLineWidth=0.2
CopperTextSizeV=1.5
CopperTextSizeH=1.5
CopperTextThickness=0.3
CopperTextItalic=0
CopperTextUpright=1
EdgeCutLineWidth=0.05
CourtyardLineWidth=0.05
OthersLineWidth=0.15
OthersTextSizeV=1
OthersTextSizeH=1
OthersTextSizeThickness=0.15
OthersTextItalic=0
OthersTextUpright=1
SolderMaskClearance=0
SolderMaskMinWidth=0
SolderPasteClearance=0
SolderPasteRatio=-0
[pcbnew/Layer.F.Cu]
Name=F.Cu
Type=0
Enabled=1
[pcbnew/Layer.In1.Cu]
Name=In1.Cu
Type=0
Enabled=0
[pcbnew/Layer.In2.Cu]
Name=In2.Cu
Type=0
Enabled=0
[pcbnew/Layer.In3.Cu]
Name=In3.Cu
Type=0
Enabled=0
[pcbnew/Layer.In4.Cu]
Name=In4.Cu
Type=0
Enabled=0
[pcbnew/Layer.In5.Cu]
Name=In5.Cu
Type=0
Enabled=0
[pcbnew/Layer.In6.Cu]
Name=In6.Cu
Type=0
Enabled=0
[pcbnew/Layer.In7.Cu]
Name=In7.Cu
Type=0
Enabled=0
[pcbnew/Layer.In8.Cu]
Name=In8.Cu
Type=0
Enabled=0
[pcbnew/Layer.In9.Cu]
Name=In9.Cu
Type=0
Enabled=0
[pcbnew/Layer.In10.Cu]
Name=In10.Cu
Type=0
Enabled=0
[pcbnew/Layer.In11.Cu]
Name=In11.Cu
Type=0
Enabled=0
[pcbnew/Layer.In12.Cu]
Name=In12.Cu
Type=0
Enabled=0
[pcbnew/Layer.In13.Cu]
Name=In13.Cu
Type=0
Enabled=0
[pcbnew/Layer.In14.Cu]
Name=In14.Cu
Type=0
Enabled=0
[pcbnew/Layer.In15.Cu]
Name=In15.Cu
Type=0
Enabled=0
[pcbnew/Layer.In16.Cu]
Name=In16.Cu
Type=0
Enabled=0
[pcbnew/Layer.In17.Cu]
Name=In17.Cu
Type=0
Enabled=0
[pcbnew/Layer.In18.Cu]
Name=In18.Cu
Type=0
Enabled=0
[pcbnew/Layer.In19.Cu]
Name=In19.Cu
Type=0
Enabled=0
[pcbnew/Layer.In20.Cu]
Name=In20.Cu
Type=0
Enabled=0
[pcbnew/Layer.In21.Cu]
Name=In21.Cu
Type=0
Enabled=0
[pcbnew/Layer.In22.Cu]
Name=In22.Cu
Type=0
Enabled=0
[pcbnew/Layer.In23.Cu]
Name=In23.Cu
Type=0
Enabled=0
[pcbnew/Layer.In24.Cu]
Name=In24.Cu
Type=0
Enabled=0
[pcbnew/Layer.In25.Cu]
Name=In25.Cu
Type=0
Enabled=0
[pcbnew/Layer.In26.Cu]
Name=In26.Cu
Type=0
Enabled=0
[pcbnew/Layer.In27.Cu]
Name=In27.Cu
Type=0
Enabled=0
[pcbnew/Layer.In28.Cu]
Name=In28.Cu
Type=0
Enabled=0
[pcbnew/Layer.In29.Cu]
Name=In29.Cu
Type=0
Enabled=0
[pcbnew/Layer.In30.Cu]
Name=In30.Cu
Type=0
Enabled=0
[pcbnew/Layer.B.Cu]
Name=B.Cu
Type=0
Enabled=1
[pcbnew/Layer.B.Adhes]
Enabled=1
[pcbnew/Layer.F.Adhes]
Enabled=1
[pcbnew/Layer.B.Paste]
Enabled=1
[pcbnew/Layer.F.Paste]
Enabled=1
[pcbnew/Layer.B.SilkS]
Enabled=1
[pcbnew/Layer.F.SilkS]
Enabled=1
[pcbnew/Layer.B.Mask]
Enabled=1
[pcbnew/Layer.F.Mask]
Enabled=1
[pcbnew/Layer.Dwgs.User]
Enabled=1
[pcbnew/Layer.Cmts.User]
Enabled=1
[pcbnew/Layer.Eco1.User]
Enabled=1
[pcbnew/Layer.Eco2.User]
Enabled=1
[pcbnew/Layer.Edge.Cuts]
Enabled=1
[pcbnew/Layer.Margin]
Enabled=1
[pcbnew/Layer.B.CrtYd]
Enabled=1
[pcbnew/Layer.F.CrtYd]
Enabled=1
[pcbnew/Layer.B.Fab]
Enabled=1
[pcbnew/Layer.F.Fab]
Enabled=1
[pcbnew/Layer.Rescue]
Enabled=0
[pcbnew/Netclasses]
[pcbnew/Netclasses/Default]
Name=Default
Clearance=0.2
TrackWidth=0.25
ViaDiameter=0.8
ViaDrill=0.4
uViaDiameter=0.3
uViaDrill=0.1
dPairWidth=0.25
dPairGap=0.25
dPairViaGap=0.25

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
(sym_lib_table
(lib (name iaq_wired_sensor-rescue)(type Legacy)(uri ${KIPRJMOD}/iaq_wired_sensor-rescue.lib)(options "")(descr ""))
)

View File

@ -1,4 +1,90 @@
## MODBUS Registers
# Indoor Air Quality sensor IAQ01
This repository contains all CAD files needed for making a Veles IAQ01 wired sensor, part of a family of [Veles Smart Household](#veles-smart-household) sensors.
## Basic properties
### Measured values
* Carbon dioxide
* Temperature
* Relative humidity
* Volatile Organic Compounds (VOC)
* PM (particulate matter) [optional extension]
### Connectivity
* RS-485 with Modbus
### Power requirements
* Input voltage: 5 - 30 V DC
### Status indication
Sensor has a RGB LED, which shows current air quality status on a continuos scale from red to green. Limits for this full green / full red are user adjustable. Indication can be also configured to non-continuos "semaphore" mode, using only 3 colors (green / yellow / red). Intensity of the LED can be set (or the LED can be disabled entirely).
## Where to get these sensors?
We hope to be able to be to offer you these sensors in one way or another (fully assembled or some kits with PCBs and components). In the meantime, you can build one yourselves! You will need a bit of experience with PCB ordering, soldering, and flashing the firmware on STM32. Don't worry though, none of these require deep expertise. Also a 3D printer will come in handy, if you want some of those pretty enclosures. We suggest using white PETG - this makes the LED shine nicely through the front of the enclosure.
## Project files
* [Hardware](PCB)
* Schematic and PCB ([KiCAD](https://www.kicad.org/) project) in [`PCB/iaq_wired_sensor.kicad_pro`](PCB/iaq_wired_sensor.kicad_pro)
* PCB step model in [`PCB/Project_Outputs/3D_MODEL/iaq_wired_sensor.step`](PCB/Project_Outputs/3D_MODEL/iaq_wired_sensor.step)
* Gerbers for PCB manufacturing in [`PCB/Project_Outputs/GERBERS`](PCB/Project_Outputs/GERBERS)
* Schematic exported as PDF in [`PCB/Project_Outputs/Schematic/iaq_wired_sensor.pdf`](PCB/Project_Outputs/Schematic/iaq_wired_sensor.pdf)
* Interactive HTML BOM file in [`PCB/Project_Outputs/iBOM/iaq_wired_sensor_rev1_ibom.html`](PCB/Project_Outputs/iBOM/iaq_wired_sensor_rev1_ibom.html)
* [Firmware](fw)
* This is a [STM32Cube IDE](https://www.st.com/en/development-tools/stm32cubeide.html) project
* Uses a number of git submodules - clone this repo with `--recursive` or use `git submodule update --init` to get them
* [Enclosure](Enclosure)
* [FreeCAD](https://www.freecad.org/) project in [`Enclosure/IAQ_Sensor_Enclosure.FCStd`](Enclosure/IAQ_Sensor_Enclosure.FCStd)
* STL files in [`Enclosure/STLs`](Enclosure/STLs)
* Printing tested on Prusa Mk2S and Ender 3
* [Documentation](Documentation)
* Datasheet in [`Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.pdf`](Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.pdf)
* Product flyer in [`Documentation/Product_Flyer/wired_iaq_sensor_flyer_rev1.pdf`](Documentation/Product_Flyer/wired_iaw_sensor_flyer_rev1.pdf)
## Images
<img src="Documentation/Datasheet/fig/iaq_wired_sensor.png" alt="Front view of the sensor" width="25%" height="auto"><img src="Documentation/Datasheet/fig/iaq01_isometric.png" alt="Front view of the sensor" width="25%" height="auto">
<img src="PCB/Project_Outputs/3D_MODEL/Images/iaq_wired_sensor.png" alt="IAQ wired sensor render" width="25%" height="auto"><img src="Documentation/Datasheet/fig/iaq01_exploded.png" alt="Front view of the sensor" width="25%" height="auto">
## Veles Smart Household
This sensor is part of Veles Smart Household. Goal of this project is to create open hardware and software platform for measuring various quantities, not only related to indoor air quality:
* temperature
* humidity
* atmospheric pressure
* carbon dioxide (CO2)
* carbon monoxide (CO)
* volatile organic compounds (VOC)
* particulate matter (PM - dust particles)
* light intensity
* soil moisture
... and some more!
Sensors are connected either via RS-485 Modbus or wirelessly to central unit. Wireless sensors are currently in development. Central unit may be any anything that can read from the bus: any computer with RS-485 to USB converter (e.g. Raspberry Pi) or an actual PLC. Readout of the sensor is possible via Modbus: either using your own favourite application or using your Python package.
**We want this to be community effort! Come help us make something great!**
### Other Smart Household repositories
* [RHT wired sensor](https://gitea.veleslabs.org/veles_labs/rht_sensor_wired)
* [Python package](https://gitea.veleslabs.org/veles_labs/pyveles) for sensor readout and visualization (work in progress)
* Can be installed using `pip install veles`
## Further reading
If you need more data, check out the [datasheet](Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.pdf).
## Modbus register cheatsheet
If you're here just to see the addresses for the readout, here they are:
### Input Registers

View File

@ -1,396 +1,231 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1512690796">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1512690796" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1512690796" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1512690796." name="/" resourcePath="">
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1532842771" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1880621660" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1279721468" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.27712989" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32L011F4Ux" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1986434241" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.731481840" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1992458385" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1211256952" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.4 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32L011F4Ux || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32L0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32L0xx/Include || || || HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | HSI_VALUE=16000000 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | DATA_CACHE_ENABLE=1 | LSI_VALUE=37000 | MSI_VALUE=2097000 | VDD_VALUE=3300 | INSTRUCTION_CACHE_ENABLE=1 | STM32L011xx | USE_FULL_LL_DRIVER | PREFETCH_ENABLE=0 || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32L011F4UX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.445833440" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/iaq_wired_sensor}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1606920792" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.469616765" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1770109039" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1171754034" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1515672988" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1650648268" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.622042" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.o0" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.2027210563" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32L011xx"/>
<listOptionValue builtIn="false" value="DEBUG"/>
<listOptionValue builtIn="false" value="USE_FULL_LL_DRIVER"/>
<listOptionValue builtIn="false" value="HSE_VALUE=8000000"/>
<listOptionValue builtIn="false" value="HSE_STARTUP_TIMEOUT=100"/>
<listOptionValue builtIn="false" value="LSE_STARTUP_TIMEOUT=5000"/>
<listOptionValue builtIn="false" value="LSE_VALUE=32768"/>
<listOptionValue builtIn="false" value="MSI_VALUE=2097000"/>
<listOptionValue builtIn="false" value="HSI_VALUE=16000000"/>
<listOptionValue builtIn="false" value="LSI_VALUE=37000"/>
<listOptionValue builtIn="false" value="VDD_VALUE=3300"/>
<listOptionValue builtIn="false" value="PREFETCH_ENABLE=0"/>
<listOptionValue builtIn="false" value="INSTRUCTION_CACHE_ENABLE=1"/>
<listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.922066001" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="../Core/Inc"/>
<listOptionValue builtIn="false" value="../Drivers/STM32L0xx_HAL_Driver/Inc"/>
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32L0xx/Include"/>
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.348969831" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1766327030" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1658652644" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.436451405" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1892130945" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1479501762" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32L011F4UX_FLASH.ld}" valueType="string"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.375300198" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.687987514" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1319199919" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.809423493" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.823263977" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1991227472" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.106500396" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1266735667" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1533131337" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1351831132" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1380902389">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1380902389" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1380902389" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1380902389." name="/" resourcePath="">
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1445955470" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.663451956" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1559134767" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1052616256" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32L011F4Ux" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.621141533" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.2032497927" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1944321553" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1781594695" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.4 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32L011F4Ux || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32L0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32L0xx/Include || || || HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | HSI_VALUE=16000000 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | DATA_CACHE_ENABLE=1 | LSI_VALUE=37000 | MSI_VALUE=2097000 | VDD_VALUE=3300 | INSTRUCTION_CACHE_ENABLE=1 | STM32L011xx | USE_FULL_LL_DRIVER | PREFETCH_ENABLE=0 || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32L011F4UX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1728902878" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/iaq_wired_sensor}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.613343674" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.677900669" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.973718199" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.919710092" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.907108133" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.904946934" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.737673998" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.866907149" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32L011xx"/>
<listOptionValue builtIn="false" value="USE_FULL_LL_DRIVER"/>
<listOptionValue builtIn="false" value="HSE_VALUE=8000000"/>
<listOptionValue builtIn="false" value="HSE_STARTUP_TIMEOUT=100"/>
<listOptionValue builtIn="false" value="LSE_STARTUP_TIMEOUT=5000"/>
<listOptionValue builtIn="false" value="LSE_VALUE=32768"/>
<listOptionValue builtIn="false" value="MSI_VALUE=2097000"/>
<listOptionValue builtIn="false" value="HSI_VALUE=16000000"/>
<listOptionValue builtIn="false" value="LSI_VALUE=37000"/>
<listOptionValue builtIn="false" value="VDD_VALUE=3300"/>
<listOptionValue builtIn="false" value="PREFETCH_ENABLE=0"/>
<listOptionValue builtIn="false" value="INSTRUCTION_CACHE_ENABLE=1"/>
<listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1311622028" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="../Core/Inc"/>
<listOptionValue builtIn="false" value="../Drivers/STM32L0xx_HAL_Driver/Inc"/>
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32L0xx/Include"/>
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.904229759" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.901350998" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.553068789" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1603146879" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.2114561486" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.30176910" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32L011F4UX_FLASH.ld}" valueType="string"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1549737908" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.101235267" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.243077328" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1798550859" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.915880004" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1373160599" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1367637434" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1240598448" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1238512966" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1432092923" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="iaq_wired_sensor.null.1619035790" name="iaq_wired_sensor"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1380902389;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1380902389.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.907108133;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.904229759">
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1512690796;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1512690796.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1515672988;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.348969831">
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug">
<resource resourceType="PROJECT" workspacePath="/iaq_wired_sensor"/>
</configuration>
<configuration configurationName="Release">
<resource resourceType="PROJECT" workspacePath="/iaq_wired_sensor"/>
</configuration>
</storageModule>
</cproject>
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.583977815">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.583977815" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.583977815" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.583977815." name="/" resourcePath="">
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.2029743242" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1153055369" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32L031G6Ux" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1505988584" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1754745317" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.867577247" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1391568853" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32L031G6Ux || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32L0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32L0xx/Include || || || HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | HSI_VALUE=16000000 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | DATA_CACHE_ENABLE=1 | LSI_VALUE=37000 | MSI_VALUE=2097000 | VDD_VALUE=3300 | INSTRUCTION_CACHE_ENABLE=1 | STM32L031xx | USE_FULL_LL_DRIVER | PREFETCH_ENABLE=0 || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32L031G6UX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || " valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.2062446076" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/iaq_wired_sensor}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1773727162" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.606108895" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.471998169" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.757865890" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="DEBUG"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.1572529382" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sht4x}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/crc8}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sgp40}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/scd4x}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/modbus}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/rgbled}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sps30}&quot;"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.366934534" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.632390373" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1522682025" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.1801014298" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1372852757" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="DEBUG"/>
<listOptionValue builtIn="false" value="STM32L031xx"/>
<listOptionValue builtIn="false" value="USE_FULL_LL_DRIVER"/>
<listOptionValue builtIn="false" value="HSE_VALUE=8000000"/>
<listOptionValue builtIn="false" value="HSE_STARTUP_TIMEOUT=100"/>
<listOptionValue builtIn="false" value="LSE_STARTUP_TIMEOUT=5000"/>
<listOptionValue builtIn="false" value="LSE_VALUE=32768"/>
<listOptionValue builtIn="false" value="MSI_VALUE=2097000"/>
<listOptionValue builtIn="false" value="HSI_VALUE=16000000"/>
<listOptionValue builtIn="false" value="LSI_VALUE=37000"/>
<listOptionValue builtIn="false" value="VDD_VALUE=3300"/>
<listOptionValue builtIn="false" value="PREFETCH_ENABLE=0"/>
<listOptionValue builtIn="false" value="INSTRUCTION_CACHE_ENABLE=1"/>
<listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.946149329" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="../Core/Inc"/>
<listOptionValue builtIn="false" value="../Drivers/STM32L0xx_HAL_Driver/Inc"/>
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32L0xx/Include"/>
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sht4x}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/crc8}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sgp40}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/scd4x}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/modbus}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/rgbled}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sps30}&quot;"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1544503170" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.301849200" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.155930402" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1962175978" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.2099198825" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.484597079" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32L031G6UX_FLASH.ld}" valueType="string"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.851999185" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1133881163" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.652442764" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1866567555" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.107840215" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.775784024" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1006686144" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1872222239" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1071618158" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.2064647262" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Libs/crc8"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Libs/modbus"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Libs/rgbled"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Libs/scd4x"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Libs/sgp40"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Libs/sht4x"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Libs/sps30"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.781650198">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.781650198" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.781650198" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.781650198." name="/" resourcePath="">
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1954020355" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1791773732" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32L031G6Ux" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1379739425" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.892262605" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1892826908" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1537311264" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32L031G6Ux || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32L0xx_HAL_Driver/Inc | ../Drivers/CMSIS/Device/ST/STM32L0xx/Include || || || HSE_VALUE=8000000 | HSE_STARTUP_TIMEOUT=100 | HSI_VALUE=16000000 | LSE_STARTUP_TIMEOUT=5000 | LSE_VALUE=32768 | DATA_CACHE_ENABLE=1 | LSI_VALUE=37000 | MSI_VALUE=2097000 | VDD_VALUE=3300 | INSTRUCTION_CACHE_ENABLE=1 | STM32L031xx | USE_FULL_LL_DRIVER | PREFETCH_ENABLE=0 || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32L031G6UX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || " valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1782859951" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/iaq_wired_sensor}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1634455695" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1354085929" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.375884652" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.700537390" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sht4x}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/crc8}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sgp40}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/scd4x}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/modbus}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/rgbled}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sps30}&quot;"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1707174983" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.35876175" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.2107783365" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.227778796" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.10117233" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32L031xx"/>
<listOptionValue builtIn="false" value="USE_FULL_LL_DRIVER"/>
<listOptionValue builtIn="false" value="HSE_VALUE=8000000"/>
<listOptionValue builtIn="false" value="HSE_STARTUP_TIMEOUT=100"/>
<listOptionValue builtIn="false" value="LSE_STARTUP_TIMEOUT=5000"/>
<listOptionValue builtIn="false" value="LSE_VALUE=32768"/>
<listOptionValue builtIn="false" value="MSI_VALUE=2097000"/>
<listOptionValue builtIn="false" value="HSI_VALUE=16000000"/>
<listOptionValue builtIn="false" value="LSI_VALUE=37000"/>
<listOptionValue builtIn="false" value="VDD_VALUE=3300"/>
<listOptionValue builtIn="false" value="PREFETCH_ENABLE=0"/>
<listOptionValue builtIn="false" value="INSTRUCTION_CACHE_ENABLE=1"/>
<listOptionValue builtIn="false" value="DATA_CACHE_ENABLE=1"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.300786558" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="../Core/Inc"/>
<listOptionValue builtIn="false" value="../Drivers/STM32L0xx_HAL_Driver/Inc"/>
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32L0xx/Include"/>
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sht4x}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/crc8}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sgp40}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/scd4x}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/modbus}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/rgbled}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Libs/sps30}&quot;"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1160143889" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.543872720" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.450268074" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.2070767313" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1437191537" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.581268614" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32L031G6UX_FLASH.ld}" valueType="string"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1903039419" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1009981428" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.107642643" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.588822294" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.40664822" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.260472045" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.583631048" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.599715282" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.419142639" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1187494996" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="iaq_wired_sensor.null.742915967" name="iaq_wired_sensor"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.781650198;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.781650198.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.35876175;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1160143889">
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.583977815;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.583977815.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.632390373;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1544503170">
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="refreshScope"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>

View File

@ -1,24 +1,24 @@
[PreviousLibFiles]
LibFiles=Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_lpuart.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_tim.h;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_tim.c;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_lpuart.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_tim.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l011xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm3.h;
LibFiles=Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_iwdg.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_tim.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_usart.h;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_tim.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_usart.c;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_gpio.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_i2c.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_dma.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_bus.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_cortex.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_rcc.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_system.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_utils.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_exti.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_pwr.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_crs.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_iwdg.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_tim.h;Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_ll_usart.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l031xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/mpu_armv7.h;
[PreviousUsedCubeIDEFiles]
SourceFiles=Core/Src/main.c;Core/Src/stm32l0xx_it.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_tim.c;Core/Src/system_stm32l0xx.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_lpuart.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_tim.c;Core/Src/system_stm32l0xx.c;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;;
SourceFiles=Core/Src/main.c;Core/Src/stm32l0xx_it.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_tim.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_usart.c;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;Core/Src/system_stm32l0xx.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_gpio.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_i2c.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_dma.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_rcc.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_utils.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_exti.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_pwr.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_tim.c;Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_ll_usart.c;Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/system_stm32l0xx.c;Core/Src/system_stm32l0xx.c;;;
HeaderPath=Drivers/STM32L0xx_HAL_Driver/Inc;Drivers/CMSIS/Device/ST/STM32L0xx/Include;Drivers/CMSIS/Include;Core/Inc;
CDefines=USE_FULL_LL_DRIVER;HSE_VALUE:8000000;HSE_STARTUP_TIMEOUT:100;LSE_STARTUP_TIMEOUT:5000;LSE_VALUE:32768;MSI_VALUE:2097000;HSI_VALUE:16000000;LSI_VALUE:37000;VDD_VALUE:3300;PREFETCH_ENABLE:0;INSTRUCTION_CACHE_ENABLE:1;DATA_CACHE_ENABLE:1;STM32L011xx;USE_FULL_LL_DRIVER;HSE_VALUE:8000000;HSE_STARTUP_TIMEOUT:100;LSE_STARTUP_TIMEOUT:5000;LSE_VALUE:32768;MSI_VALUE:2097000;HSI_VALUE:16000000;LSI_VALUE:37000;VDD_VALUE:3300;PREFETCH_ENABLE:0;INSTRUCTION_CACHE_ENABLE:1;DATA_CACHE_ENABLE:1;
CDefines=USE_FULL_LL_DRIVER;HSE_VALUE:8000000;HSE_STARTUP_TIMEOUT:100;LSE_STARTUP_TIMEOUT:5000;LSE_VALUE:32768;MSI_VALUE:2097000;HSI_VALUE:16000000;LSI_VALUE:37000;VDD_VALUE:3300;PREFETCH_ENABLE:0;INSTRUCTION_CACHE_ENABLE:1;DATA_CACHE_ENABLE:1;STM32L031xx;USE_FULL_LL_DRIVER;HSE_VALUE:8000000;HSE_STARTUP_TIMEOUT:100;LSE_STARTUP_TIMEOUT:5000;LSE_VALUE:32768;MSI_VALUE:2097000;HSI_VALUE:16000000;LSI_VALUE:37000;VDD_VALUE:3300;PREFETCH_ENABLE:0;INSTRUCTION_CACHE_ENABLE:1;DATA_CACHE_ENABLE:1;
[PreviousGenFiles]
AdvancedFolderStructure=true
HeaderFileListSize=3
HeaderFiles#0=/home/mrs/Personal/HDIoT/Smart_Household/iaq_wired_sensor/fw/Core/Inc/stm32l0xx_it.h
HeaderFiles#1=/home/mrs/Personal/HDIoT/Smart_Household/iaq_wired_sensor/fw/Core/Inc/stm32_assert.h
HeaderFiles#2=/home/mrs/Personal/HDIoT/Smart_Household/iaq_wired_sensor/fw/Core/Inc/main.h
HeaderFiles#0=/home/dooku/projekty/hdiot/iaq_wired_sensor/fw/Core/Inc/stm32l0xx_it.h
HeaderFiles#1=/home/dooku/projekty/hdiot/iaq_wired_sensor/fw/Core/Inc/stm32_assert.h
HeaderFiles#2=/home/dooku/projekty/hdiot/iaq_wired_sensor/fw/Core/Inc/main.h
HeaderFolderListSize=1
HeaderPath#0=/home/mrs/Personal/HDIoT/Smart_Household/iaq_wired_sensor/fw/Core/Inc
HeaderPath#0=/home/dooku/projekty/hdiot/iaq_wired_sensor/fw/Core/Inc
HeaderFiles=;
SourceFileListSize=2
SourceFiles#0=/home/mrs/Personal/HDIoT/Smart_Household/iaq_wired_sensor/fw/Core/Src/stm32l0xx_it.c
SourceFiles#1=/home/mrs/Personal/HDIoT/Smart_Household/iaq_wired_sensor/fw/Core/Src/main.c
SourceFiles#0=/home/dooku/projekty/hdiot/iaq_wired_sensor/fw/Core/Src/stm32l0xx_it.c
SourceFiles#1=/home/dooku/projekty/hdiot/iaq_wired_sensor/fw/Core/Src/main.c
SourceFolderListSize=1
SourcePath#0=/home/mrs/Personal/HDIoT/Smart_Household/iaq_wired_sensor/fw/Core/Src
SourcePath#0=/home/dooku/projekty/hdiot/iaq_wired_sensor/fw/Core/Src
SourceFiles=;

View File

@ -24,7 +24,6 @@
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature</nature>
<nature>com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature</nature>
<nature>com.st.stm32cube.ide.mcu.MCUEndUserDisabledTrustZoneProjectNature</nature>
<nature>com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature</nature>
<nature>com.st.stm32cube.ide.mcu.MCURootProjectNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>

View File

@ -1,3 +1,4 @@
8DF89ED150041C4CBC7CB9A9CAA90856=295E78E9D51884086204F31037537306
DC22A860405A8BF2F2C095E5B6529F12=295E78E9D51884086204F31037537306
66BE74F758C12D739921AEA421D593D3=11
8DF89ED150041C4CBC7CB9A9CAA90856=807411C90E25B050C1E13646B7FEB5AA
DC22A860405A8BF2F2C095E5B6529F12=807411C90E25B050C1E13646B7FEB5AA
eclipse.preferences.version=1

View File

@ -48,14 +48,22 @@ config_read(&config);
* Device description data can be accessed using direct readout from the memory
* Device configuration data can be accessed using config_t struct.
*/
/* device class: IAQ_Wired ; device code: 0x0010 (see serial generator repo) */
#define CONFIG_DEVICE_CODE 0x0010
#define CONFIG_DEFAULT_LED_ON 1
#define CONFIG_DEFAULT_LED_BRIGHTNESS 100 /* TODO: set according to the timers when this will be implemented */
#define CONFIG_DEFAULT_LED_BRIGHTNESS 100
#define CONFIG_DEFAULT_LED_ALERT1_LIMIT 1500
#define CONFIG_DEFAULT_LED_ALERT2_LIMIT 3000
#define CONFIG_DEFAULT_LED_SMOOTH 0
#define CONFIG_DEFAULT_LED_SMOOTH 1
#define CONFIG_DEFAULT_SCD4x_T_OFFSET 0
#define CONFIG_DEFAULT_BAUDRATE_INDEX 0
#define CONFIG_DEFAULT_SERIAL_1 (CONFIG_DEVICE_CODE)
/* SERIAL_2 is not defined, as it makes no sense to have default value */
#define CONFIG_SERIAL_NUMBER_1_LENGTH 2
#define CONFIG_SERIAL_NUMBER_2_LENGTH 2
#define CONFIG_MODBUS_ADDR_LENGTH 2
#define CONFIG_BAUDRATE_INDEX_LENGTH 2
#define CONFIG_LED_ON_LENGTH 2
@ -74,9 +82,11 @@ config_read(&config);
#define EEPROM_EMPTY_BYTE 0x00
#define EEPROM_ADDR_START ((uint32_t)0x08080000)
#define EEPROM_ADDR_END ((uint32_t)0x080801FF)
#define EEPROM_ADDR_END ((uint32_t)0x080803FF)
#define CONFIG_EEPROM_ADDR_MODBUS_ADDR (EEPROM_ADDR_START)
#define CONFIG_EEPROM_ADDR_SERIAL_NUMBER_1 (EEPROM_ADDR_START)
#define CONFIG_EEPROM_ADDR_SERIAL_NUMBER_2 (CONFIG_EEPROM_ADDR_SERIAL_NUMBER_1 + CONFIG_SERIAL_NUMBER_1_LENGTH)
#define CONFIG_EEPROM_ADDR_MODBUS_ADDR (CONFIG_EEPROM_ADDR_SERIAL_NUMBER_2 + CONFIG_SERIAL_NUMBER_2_LENGTH)
#define CONFIG_EEPROM_ADDR_BAUDRATE_INDEX (CONFIG_EEPROM_ADDR_MODBUS_ADDR + CONFIG_MODBUS_ADDR_LENGTH)
#define CONFIG_EEPROM_ADDR_LED_ON (CONFIG_EEPROM_ADDR_BAUDRATE_INDEX + CONFIG_BAUDRATE_INDEX_LENGTH)
#define CONFIG_EEPROM_ADDR_LED_BRIGHTNESS (CONFIG_EEPROM_ADDR_LED_ON + CONFIG_LED_ON_LENGTH)
@ -85,6 +95,7 @@ config_read(&config);
#define CONFIG_EEPROM_ADDR_LED_ALERT2 (CONFIG_EEPROM_ADDR_LED_ALERT1 + CONFIG_LED_ALERT1_LENGTH)
#define CONFIG_EEPROM_ADDR_SCD4x_T_OFFSET (CONFIG_EEPROM_ADDR_LED_ALERT2 + CONFIG_LED_ALERT2_LENGTH)
#define CONFIG_EEPROM_ADDR_VENDOR_NAME (CONFIG_EEPROM_ADDR_SCD4x_T_OFFSET + CONFIG_SCD4x_T_OFFSET_LENGTH)
#define CONFIG_EEPROM_ADDR_PRODUCT_CODE (CONFIG_EEPROM_ADDR_VENDOR_NAME + VENDOR_NAME_LENGTH)
#define CONFIG_EEPROM_ADDR_PRODUCT_NAME (CONFIG_EEPROM_ADDR_PRODUCT_CODE + PRODUCT_CODE_LENGTH)
@ -107,6 +118,17 @@ config_read(&config);
#define SYSTICK_FREQ_HZ 12000000
#define EEPROM_TIMEOUT_MAX_MS_INV 200
/*
* Variables
*/
extern const uint32_t config_baudrates[];
extern const uint8_t config_baudrates_length;
/*
* Type definitions
*/
typedef struct
{
/* LED CONFIG */
@ -122,9 +144,13 @@ typedef struct
/* MODBUS CONFIG */
uint16_t modbus_addr;
uint32_t baudrate_index;
/* SERIAL NUMBER */
uint16_t serial_number_1;
uint16_t serial_number_2;
} config_t;
/* IMPORTANT: baudrates must be defined in main.c and the default value must be at index 0*/
/* const uint32_t baudrates [] = {19200, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200}; */
int8_t config_read(config_t *config);

View File

@ -1,22 +0,0 @@
/*
* crc.h
*
* Created on: Jun 9, 2021
* Author: user
*/
#ifndef INC_CRC8_H_
#define INC_CRC8_H_
#include "stdint.h"
/*
* Definitions & macros
*/
#define CRC8_POLYNOMIAL 0x31
#define CRC8_INIT 0xFF
uint8_t crc8_calculate(const uint8_t *data, uint16_t count);
#endif /* INC_CRC8_H_ */

View File

@ -39,8 +39,8 @@ typedef struct {
* Function declarations
*/
int i2c_init(i2c_context_t *context);
int i2c_transmit(uint8_t address, uint8_t *buffer, int len);
int i2c_receive(uint8_t address, uint8_t *buffer, int len);
int8_t i2c_init(i2c_context_t *context);
int8_t i2c_transmit(uint8_t address, uint8_t *buffer, int len);
int8_t i2c_receive(uint8_t address, uint8_t *buffer, int len);
#endif /* INC_I2C_H_ */

View File

@ -29,9 +29,9 @@ extern "C" {
/* Includes ------------------------------------------------------------------*/
#include "stm32l0xx_ll_i2c.h"
#include "stm32l0xx_ll_lpuart.h"
#include "stm32l0xx_ll_rcc.h"
#include "stm32l0xx_ll_iwdg.h"
#include "stm32l0xx_ll_crs.h"
#include "stm32l0xx_ll_rcc.h"
#include "stm32l0xx_ll_bus.h"
#include "stm32l0xx_ll_system.h"
#include "stm32l0xx_ll_exti.h"
@ -40,6 +40,7 @@ extern "C" {
#include "stm32l0xx_ll_pwr.h"
#include "stm32l0xx_ll_dma.h"
#include "stm32l0xx_ll_tim.h"
#include "stm32l0xx_ll_usart.h"
#include "stm32l0xx_ll_gpio.h"
#if defined(USE_FULL_ASSERT)
@ -52,8 +53,12 @@ extern "C" {
#include "scd4x.h"
#include "sht4x.h"
#include "sps30.h"
#include "sgp40.h"
#include "modbus.h"
#include "config.h"
#include "rgbled.h"
#include "crc8.h"
#include "sensirion_gas_index_algorithm.h"
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
@ -75,16 +80,12 @@ extern "C" {
void Error_Handler(void);
/* USER CODE BEGIN EFP */
int8_t uart_disable_interrupts(void);
int8_t uart_enable_interrupts(void);
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
#define LED_B_Pin LL_GPIO_PIN_5
#define LED_B_GPIO_Port GPIOA
#define LED_G_Pin LL_GPIO_PIN_6
#define LED_G_GPIO_Port GPIOA
#define LED_R_Pin LL_GPIO_PIN_7
#define LED_R_GPIO_Port GPIOA
#ifndef NVIC_PRIORITYGROUP_0
#define NVIC_PRIORITYGROUP_0 ((uint32_t)0x00000007) /*!< 0 bit for pre-emption priority,
4 bits for subpriority */
@ -98,12 +99,16 @@ void Error_Handler(void);
0 bit for subpriority */
#endif
/* USER CODE BEGIN Private defines */
#define MEASUREMENT_PERIOD_MS 600000
#define SYSTEM_CLOCK_HZ 12000000
#define MEASUREMENT_PERIOD_S 6
#define RESET_MAGIC_NUMBER 0xABCD
#define MODBUS_ASSERT(x) if (x == 0) return MODBUS_ERROR_FUNCTION_NOT_IMPLEMENTED
#define CELSIUS_TO_FAHRENHEIT(x) (x * 9 / 5 + 320)
extern uint16_t lpuart1_rx_message_index;
extern uint16_t lpuart1_rx_message_len;
extern uint8_t lpuart1_rx_done;
extern uint8_t lpuart1_rx_message_too_long;
extern uint16_t usart2_rx_message_index;
extern uint16_t usart2_rx_message_len;
extern uint8_t usart2_rx_done;
extern uint8_t usart2_rx_message_too_long;
extern uint8_t tim21_elapsed_period;

View File

@ -1,180 +0,0 @@
/*
* modbus.h
*
* Created on: Jul 18, 2021
* Author: user
*
* Modbus slave RTU library (does NOT support ASCII and TCP)
*
* Useful links:
* https://www.picotech.com/library/oscilloscopes/modbus-serial-protocol-decoding
* https://ipc2u.com/articles/knowledge-base/modbus-rtu-made-simple-with-detailed-descriptions-and-examples/
* https://modbus.org/docs/Modbus_over_serial_line_V1_02.pdf
* https://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf
*
* Note that byte order is big endian.
*
* USAGE:
*
* 1) Implement functions modbus_callback_function() and modbus_uart_transmit_function()
* - modbus_uart_transmit_function() sends data via UART
* - modbus_callback_function() does the real work: read sensors, set outputs...
* note that when filling buffers (e.g. input_registers[]) user must
* ensure that all data is big-endian
* These functions are implementation-specific.
* 2) Set device address (variable modbus_device_address); you can do this either
* - setting modbus_device_address directly (modbus.h needs to be included, duh)
* - using modbus_set_device_address(uint8_t address) function
* Or you can leave address as-is (MODBUS_DEFAULT_SLAVE_ADDRESS) and set it via
* Modbus during runtime
* 3) Call modbus_process_msg() after message reception; you need to observe Modbus RTU timing:
* - pauses between chars in frame are less or equal to 1.5 char
* - pauses between frames are at least 3.5 chars (of silence)
* For more information see section 2.5.1.1 (MODBUS Message RTU Framing)
* in "MODBUS over Serial Line: Specification and Implementation Guide"
*
*/
#ifndef SRC_MODBUS_H_
#define SRC_MODBUS_H_
#include "stdint.h"
/*
* Defines & macros
*/
#define MODBUS_BROADCAST_ADDR 0
#define MODBUS_DEFAULT_SLAVE_ADDRESS 254 /* 255 may be used for bridge device */
/* minimal frame length is 4 bytes: 1 B slave address, 1 B function code, 2 B CRC */
#define MODBUS_MINIMAL_FRAME_LEN 4
#define MODBUS_MAX_RTU_FRAME_SIZE 256
#define MODBUS_BUFFER_SIZE MODBUS_MAX_RTU_FRAME_SIZE /* alias */
#define MODBUS_ERROR_FLAG 0x80
#define MODBUS_MAX_REGISTERS 125
/*
* Return values
*/
#define MODBUS_OK 0
#define MODBUS_ERROR -1 // generic error
#define MODBUS_ERROR_CRC -2 // checksum failed
#define MODBUS_ERROR_FRAME_INVALID -3 // invalid frame format / length
#define MODBUS_ERROR_OUT_OF_BOUNDS -4 // requested register is out of bounds
#define MODBUS_ERROR_FUNCTION_NOT_IMPLEMENTED -5 // function not implemented in callback
#define MODBUS_ERROR_REGISTER_NOT_IMPLEMENTED -6 // register not implemented in callback
/*
* Data types
*/
/* Public functions codes (Modbus Application protocol specification, section 5.1) */
typedef enum {
/* single bit access functions */
MODBUS_READ_COILS = 1,
MODBUS_READ_DO = 1, // alias
MODBUS_READ_DISCRETE_INPUTS = 2,
MODBUS_READ_DI = 2, // alias
MODBUS_WRITE_SINGLE_COIL = 5,
MODBUS_WRITE_SINGLE_DO = 5, // alias
MODBUS_WRITE_MULTIPLE_COILS = 15,
MODBUS_WRITE_MULTIPLE_DO = 15, // alias
/* 16-bit access functions */
MODBUS_READ_HOLDING_REGISTERS = 3,
MODBUS_READ_AO = 3, // alias
MODBUS_READ_INPUT_REGISTERS = 4,
MODBUS_READ_AI = 4, // alias
MODBUS_WRITE_SINGLE_REGISTER = 6,
MODBUS_WRITE_SINGLE_AO = 6, // alias
MODBUS_WRITE_MULTIPLE_REGISTERS = 16,
MODBUS_WRITE_MULTIPLE_AO = 16, // alias
MODBUS_MASK_WRITE_REGISTER = 22,
MODBUS_READ_WRITE_MULTIPLE_REGISTERS = 23,
MODBUS_READ_FIFO_QUEUE = 24,
/* file record access */
MODBUS_READ_FILE_RECORD = 20,
MODBUS_WRITE_FILE_RECORD = 21,
/* diagnostics */
MODBUS_READ_EXCEPTION_STATUS = 7,
MODBUS_DIAGNOSTIC = 8, /* sub codes: 00-18,20 */
MODBUS_GET_COM_EVENT_COUNTER = 11,
MODBUS_GET_COM_EVENT_LOG = 12,
MODBUS_REPORT_SLAVE_ID = 17,
MODBUS_READ_DEVICE_IDENTIFICATION = 43, /* sub codes: 14 */
} modbus_function_code_t;
typedef enum {
MODBUS_EXCEPTION_ILLEGAL_FUNCTION = 1,
MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS = 2,
MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE = 3,
MODBUS_EXCEPTION_SLAVE_DEVICE_FAILURE = 4,
MODBUS_EXCEPTION_ACKNOWLEDGE = 5,
MODBUS_EXCEPTION_SLAVE_DEVICE_BUSY = 6,
MODBUS_EXCEPTION_MEMORY_PARITY_ERROR = 8,
MODBUS_EXCEPTION_GATEWAY_PATH_UNAVAILABLE = 10,
MODBUS_EXCEPTION_GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND = 11,
} modbus_exception_code_t;
typedef struct {
uint8_t exception_code;
} exception_t;
typedef struct {
modbus_function_code_t function_code : 8;
uint16_t register_address; // e.g. first register of A0: 0
uint16_t register_number; // e.g. first register of A0: 40001
uint8_t register_count; // number of registers to be read/written
exception_t exception;
union {
uint8_t buffer8b[MODBUS_MAX_RTU_FRAME_SIZE];
uint16_t buffer16b[MODBUS_MAX_RTU_FRAME_SIZE/2];
uint16_t input_registers[MODBUS_MAX_REGISTERS];
uint16_t holding_registers[MODBUS_MAX_REGISTERS];
int16_t input_registers_signed[MODBUS_MAX_REGISTERS];
int16_t holding_registers_signed[MODBUS_MAX_REGISTERS];
};
} modbus_transaction_t;
typedef enum {
MODBUS_DO_START_NUMBER = 1, // Discrete output coils
MODBUS_DO_END_NUMBER = 9999,
MODBUS_DI_START_NUMBER = 10001, // Discrete input contacts
MODBUS_DI_END_NUMBER = 19999,
MODBUS_AI_START_NUMBER = 30001, // Analog input registers
MODBUS_AI_END_NUMBER = 39999,
MODBUS_AO_START_NUMBER = 40001, // Analog output (holding registers)
MODBUS_AO_END_NUMBER = 49999
} modbus_register_number_t;
/*
* Global variables
*/
/* device address: declared in modbus.c */
extern uint8_t modbus_slave_address;
/* shared modbus buffer; defined in modbus.c; may be used elsewhere in code */
extern uint8_t modbus_buffer[];
/*
* Function prototypes
*/
/* process message: should be called in when modbus message was received (e.g. in main.c)
* modbus_process_msg() may call following functions:
* - modbus_callback_function() if data readout is requested
* - modbus_uart_transmit_function() if response is required
* Both functions have to be implemented by user.
*/
int8_t modbus_slave_process_msg(const uint8_t *buffer, int len);
int8_t modbus_slave_set_address(uint8_t address);
/* modbus callback function type - should be implemented by user (e.g. in main.c) */
int8_t modbus_slave_callback(modbus_transaction_t *transaction);
/* UART transmit function type - should be implemented by user (e.g. in main.c) */
int8_t modbus_transmit_function(uint8_t *buffer, int data_len);
#endif /* SRC_MODBUS_H_ */

View File

@ -1,57 +0,0 @@
/*
* sht4x.h
*
* Created on: Jun 8, 2021
* Author: user
*/
#ifndef INC_SCD4X_H_
#define INC_SCD4X_H_
#include "stdint.h"
#include "stm32l0xx_ll_i2c.h"
#include "stm32l0xx_ll_utils.h"
#include "i2c.h"
#include "crc8.h"
/*
* Defines & macros
*/
#define SCD4X_I2C_ADDRESS 0x62
/*
* Return values
*/
#define SCD4X_OK 0
#define SCD4X_ERROR -1 // generic error
#define SCD4X_CRC8_ERROR -2 // checksum failed
/*
* Data types
*/
typedef enum {
SCD4X_START_PERIODIC_MEASUREMENT = 0x21B1,
SCD4X_READ_MEASUREMENT = 0xEC05,
SCD4X_STOP_PERIODIC_MEASUREMENT = 0x3F86,
SCD4X_GET_DATA_READY_STATUS = 0xe4b8,
SCD4X_PERFORM_FACTORY_RESET = 0x3632
} scd4x_cmd_t;
/*
* Function prototypes
*/
int8_t scd4x_send_cmd(scd4x_cmd_t cmd);
int8_t scd4x_read_data(uint8_t *buffer, int len);
int8_t scd4x_start_periodic_measurement( void );
int8_t scd4x_stop_periodic_measurement( void );
int8_t scd4x_perform_factory_reset( void );
int8_t scd4x_read_measurement(uint16_t * co2, int16_t *temperature, uint16_t *relative_humidity);
#endif /* INC_SCD4X_H_ */

View File

@ -0,0 +1,280 @@
/*
* Copyright (c) 2021, Sensirion AG
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* * Neither the name of Sensirion AG nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef GASINDEXALGORITHM_H_
#define GASINDEXALGORITHM_H_
#include <stdint.h>
#include "main.h"
/* The fixed point arithmetic parts of this code were originally created by
* https://github.com/PetteriAimonen/libfixmath
*/
typedef int32_t fix16_t;
#define F16(x) \
((fix16_t)(((x) >= 0) ? ((x)*65536.0 + 0.5) : ((x)*65536.0 - 0.5)))
#ifndef __cplusplus
#if __STDC_VERSION__ >= 199901L
#include <stdbool.h>
#else
#ifndef bool
#define bool int
#define true 1
#define false 0
#endif // bool
#endif // __STDC_VERSION__
#endif // __cplusplus
// Should be set by the building toolchain
#ifndef LIBRARY_VERSION_NAME
#define LIBRARY_VERSION_NAME "3.1.0"
#endif
#define GasIndexAlgorithm_ALGORITHM_TYPE_VOC (0)
#define GasIndexAlgorithm_ALGORITHM_TYPE_NOX (1)
#define GasIndexAlgorithm_SAMPLING_INTERVAL (MEASUREMENT_PERIOD_S)
#define GasIndexAlgorithm_INITIAL_BLACKOUT (60.) // changed
#define GasIndexAlgorithm_INDEX_GAIN (230.)
#define GasIndexAlgorithm_SRAW_STD_INITIAL (50.)
#define GasIndexAlgorithm_SRAW_STD_BONUS_VOC (220.)
#define GasIndexAlgorithm_SRAW_STD_NOX (2000.)
#define GasIndexAlgorithm_TAU_MEAN_HOURS (12.)
#define GasIndexAlgorithm_TAU_VARIANCE_HOURS (12.)
#define GasIndexAlgorithm_TAU_INITIAL_MEAN_VOC (20.)
#define GasIndexAlgorithm_TAU_INITIAL_MEAN_NOX (1200.)
#define GasIndexAlgorithm_INIT_DURATION_MEAN_VOC ((3600. * 0.75))
#define GasIndexAlgorithm_INIT_DURATION_MEAN_NOX ((3600. * 4.75))
#define GasIndexAlgorithm_INIT_TRANSITION_MEAN (0.01)
#define GasIndexAlgorithm_TAU_INITIAL_VARIANCE (2500.)
#define GasIndexAlgorithm_INIT_DURATION_VARIANCE_VOC ((3600. * 1.45))
#define GasIndexAlgorithm_INIT_DURATION_VARIANCE_NOX ((3600. * 5.70))
#define GasIndexAlgorithm_INIT_TRANSITION_VARIANCE (0.01)
#define GasIndexAlgorithm_GATING_THRESHOLD_VOC (340.)
#define GasIndexAlgorithm_GATING_THRESHOLD_NOX (30.)
#define GasIndexAlgorithm_GATING_THRESHOLD_INITIAL (510.)
#define GasIndexAlgorithm_GATING_THRESHOLD_TRANSITION (0.09)
#define GasIndexAlgorithm_GATING_VOC_MAX_DURATION_MINUTES ((60. * 3.))
#define GasIndexAlgorithm_GATING_NOX_MAX_DURATION_MINUTES ((60. * 12.))
#define GasIndexAlgorithm_GATING_MAX_RATIO (0.3)
#define GasIndexAlgorithm_SIGMOID_L (500.)
#define GasIndexAlgorithm_SIGMOID_K_VOC (-0.0065)
#define GasIndexAlgorithm_SIGMOID_X0_VOC (213.)
#define GasIndexAlgorithm_SIGMOID_K_NOX (-0.0101)
#define GasIndexAlgorithm_SIGMOID_X0_NOX (614.)
#define GasIndexAlgorithm_VOC_INDEX_OFFSET_DEFAULT (100.)
#define GasIndexAlgorithm_NOX_INDEX_OFFSET_DEFAULT (1.)
#define GasIndexAlgorithm_LP_TAU_FAST (20.0)
#define GasIndexAlgorithm_LP_TAU_SLOW (500.0)
#define GasIndexAlgorithm_LP_ALPHA (-0.2)
#define GasIndexAlgorithm_VOC_SRAW_MINIMUM (20000)
#define GasIndexAlgorithm_NOX_SRAW_MINIMUM (10000)
#define GasIndexAlgorithm_PERSISTENCE_UPTIME_GAMMA ((3. * 3600.))
#define GasIndexAlgorithm_TUNING_INDEX_OFFSET_MIN (1)
#define GasIndexAlgorithm_TUNING_INDEX_OFFSET_MAX (250)
#define GasIndexAlgorithm_TUNING_LEARNING_TIME_OFFSET_HOURS_MIN (1)
#define GasIndexAlgorithm_TUNING_LEARNING_TIME_OFFSET_HOURS_MAX (1000)
#define GasIndexAlgorithm_TUNING_LEARNING_TIME_GAIN_HOURS_MIN (1)
#define GasIndexAlgorithm_TUNING_LEARNING_TIME_GAIN_HOURS_MAX (1000)
#define GasIndexAlgorithm_TUNING_GATING_MAX_DURATION_MINUTES_MIN (0)
#define GasIndexAlgorithm_TUNING_GATING_MAX_DURATION_MINUTES_MAX (3000)
#define GasIndexAlgorithm_TUNING_STD_INITIAL_MIN (10)
#define GasIndexAlgorithm_TUNING_STD_INITIAL_MAX (5000)
#define GasIndexAlgorithm_TUNING_GAIN_FACTOR_MIN (1)
#define GasIndexAlgorithm_TUNING_GAIN_FACTOR_MAX (1000)
#define GasIndexAlgorithm_MEAN_VARIANCE_ESTIMATOR__GAMMA_SCALING (64.)
#define GasIndexAlgorithm_MEAN_VARIANCE_ESTIMATOR__ADDITIONAL_GAMMA_MEAN_SCALING \
(8.)
#define GasIndexAlgorithm_MEAN_VARIANCE_ESTIMATOR__FIX16_MAX (32767.)
/**
* Struct to hold all parameters and states of the gas algorithm.
*/
typedef struct {
int32_t mAlgorithm_Type;
fix16_t mIndex_Offset;
int32_t mSraw_Minimum;
fix16_t mGating_Max_Duration_Minutes;
fix16_t mInit_Duration_Mean;
fix16_t mInit_Duration_Variance;
fix16_t mGating_Threshold;
fix16_t mIndex_Gain;
fix16_t mTau_Mean_Hours;
fix16_t mTau_Variance_Hours;
fix16_t mSraw_Std_Initial;
fix16_t mUptime;
fix16_t mSraw;
fix16_t mGas_Index;
bool m_Mean_Variance_Estimator___Initialized;
fix16_t m_Mean_Variance_Estimator___Mean;
fix16_t m_Mean_Variance_Estimator___Sraw_Offset;
fix16_t m_Mean_Variance_Estimator___Std;
fix16_t m_Mean_Variance_Estimator___Gamma_Mean;
fix16_t m_Mean_Variance_Estimator___Gamma_Variance;
fix16_t m_Mean_Variance_Estimator___Gamma_Initial_Mean;
fix16_t m_Mean_Variance_Estimator___Gamma_Initial_Variance;
fix16_t m_Mean_Variance_Estimator__Gamma_Mean;
fix16_t m_Mean_Variance_Estimator__Gamma_Variance;
fix16_t m_Mean_Variance_Estimator___Uptime_Gamma;
fix16_t m_Mean_Variance_Estimator___Uptime_Gating;
fix16_t m_Mean_Variance_Estimator___Gating_Duration_Minutes;
fix16_t m_Mean_Variance_Estimator___Sigmoid__K;
fix16_t m_Mean_Variance_Estimator___Sigmoid__X0;
fix16_t m_Mox_Model__Sraw_Std;
fix16_t m_Mox_Model__Sraw_Mean;
fix16_t m_Sigmoid_Scaled__K;
fix16_t m_Sigmoid_Scaled__X0;
fix16_t m_Sigmoid_Scaled__Offset_Default;
fix16_t m_Adaptive_Lowpass__A1;
fix16_t m_Adaptive_Lowpass__A2;
bool m_Adaptive_Lowpass___Initialized;
fix16_t m_Adaptive_Lowpass___X1;
fix16_t m_Adaptive_Lowpass___X2;
fix16_t m_Adaptive_Lowpass___X3;
} GasIndexAlgorithmParams;
/**
* Initialize the gas index algorithm parameters for the specified algorithm
* type and reset its internal states. Call this once at the beginning.
* @param params Pointer to the GasIndexAlgorithmParams struct
* @param algorithm_type 0 (GasIndexAlgorithm_ALGORITHM_TYPE_VOC) for VOC or
* 1 (GasIndexAlgorithm_ALGORITHM_TYPE_NOX) for NOx
*/
void GasIndexAlgorithm_init(GasIndexAlgorithmParams* params,
int32_t algorithm_type);
/**
* Reset the internal states of the gas index algorithm. Previously set tuning
* parameters are preserved. Call this when resuming operation after a
* measurement interruption.
* @param params Pointer to the GasIndexAlgorithmParams struct
*/
void GasIndexAlgorithm_reset(GasIndexAlgorithmParams* params);
/**
* Get current algorithm states. Retrieved values can be used in
* GasIndexAlgorithm_set_states() to resume operation after a short
* interruption, skipping initial learning phase.
* NOTE: This feature can only be used for VOC algorithm type and after at least
* 3 hours of continuous operation.
* @param params Pointer to the GasIndexAlgorithmParams struct
* @param state0 State0 to be stored
* @param state1 State1 to be stored
*/
void GasIndexAlgorithm_get_states(const GasIndexAlgorithmParams* params,
int32_t* state0, int32_t* state1);
/**
* Set previously retrieved algorithm states to resume operation after a short
* interruption, skipping initial learning phase. This feature should not be
* used after interruptions of more than 10 minutes. Call this once after
* GasIndexAlgorithm_init() or GasIndexAlgorithm_reset() and the optional
* GasIndexAlgorithm_set_tuning_parameters(), if desired. Otherwise, the
* algorithm will start with initial learning phase.
* NOTE: This feature can only be used for VOC algorithm type.
* @param params Pointer to the GasIndexAlgorithmParams struct
* @param state0 State0 to be restored
* @param state1 State1 to be restored
*/
void GasIndexAlgorithm_set_states(GasIndexAlgorithmParams* params,
int32_t state0, int32_t state1);
/**
* Set parameters to customize the gas index algorithm. Call this once after
* GasIndexAlgorithm_init() and before optional GasIndexAlgorithm_set_states(),
* if desired. Otherwise, the default values will be used.
*
* @param params Pointer to the GasIndexAlgorithmParams
* struct
* @param index_offset Gas index representing typical (average)
* conditions. Range 1..250,
* default 100 for VOC and 1 for NOx
* @param learning_time_offset_hours Time constant of long-term estimator for
* offset. Past events will be forgotten
* after about twice the learning time.
* Range 1..1000 [hours], default 12 [hours]
* @param learning_time_gain_hours Time constant of long-term estimator for
* gain. Past events will be forgotten
* after about twice the learning time.
* Range 1..1000 [hours], default 12 [hours]
* NOTE: This value is not relevant for NOx
* algorithm type
* @param gating_max_duration_minutes Maximum duration of gating (freeze of
* estimator during high gas index signal).
* 0 (no gating) or range 1..3000 [minutes],
* default 180 [minutes] for VOC and
* 720 [minutes] for NOx
* @param std_initial Initial estimate for standard deviation.
* Lower value boosts events during initial
* learning period, but may result in larger
* device-to-device variations.
* Range 10..5000, default 50
* NOTE: This value is not relevant for NOx
* algorithm type
* @param gain_factor Factor used to scale applied gain value
* when calculating gas index. Range 1..1000,
* default 230
*/
void GasIndexAlgorithm_set_tuning_parameters(
GasIndexAlgorithmParams* params, int32_t index_offset,
int32_t learning_time_offset_hours, int32_t learning_time_gain_hours,
int32_t gating_max_duration_minutes, int32_t std_initial,
int32_t gain_factor);
/**
* Get current parameters to customize the gas index algorithm.
* Refer to GasIndexAlgorithm_set_tuning_parameters() for description of the
* parameters.
*/
void GasIndexAlgorithm_get_tuning_parameters(
const GasIndexAlgorithmParams* params, int32_t* index_offset,
int32_t* learning_time_offset_hours, int32_t* learning_time_gain_hours,
int32_t* gating_max_duration_minutes, int32_t* std_initial,
int32_t* gain_factor);
/**
* Calculate the gas index value from the raw sensor value.
*
* @param params Pointer to the GasIndexAlgorithmParams struct
* @param sraw Raw value from the SGP4x sensor
* @param gas_index Calculated gas index value from the raw sensor value. Zero
* during initial blackout period and 1..500 afterwards
*/
void GasIndexAlgorithm_process(GasIndexAlgorithmParams* params, int32_t sraw,
int32_t* gas_index);
#endif /* GASINDEXALGORITHM_H_ */

View File

@ -1,57 +0,0 @@
/*
* sht4x.h
*
* Created on: Jun 8, 2021
* Author: user
*/
#ifndef INC_SHT4X_H_
#define INC_SHT4X_H_
#include "stdint.h"
#include "stm32l0xx_ll_i2c.h"
#include "stm32l0xx_ll_utils.h"
#include "i2c.h"
#include "crc8.h"
/*
* Defines & macros
*/
#define SHT4X_I2C_ADDRESS 0x44
/*
* Return values
*/
#define SHT4X_OK 0
#define SHT4X_ERROR -1 // generic error
#define SHT4X_CRC8_ERROR -2 // checksum failed
/*
* Data types
*/
typedef enum {
SHT4X_START_MEAS_HIGH_PRECISION = 0xFD,
SHT4X_START_MEAS_MEDIUM_PRECISION = 0xF6,
SHT4X_START_MEAS_LOW_PRECISION = 0xE0,
SHT4X_READ_SERIAL = 0x89,
SHT4X_SOFT_RESET = 0x94,
SHT4X_HEATER_200_mW_1_s = 0x39,
SHT4X_HEATER_200_mW_01_s = 0x32,
SHT4X_HEATER_110_mW_1_s = 0x2F,
SHT4X_HEATER_110_mW_01_s = 0x24,
SHT4X_HEATER_20_mW_1_s = 0x1E,
SHT4X_HEATER_20_mW_01_s = 0x15
} sht4x_cmd_t;
/*
* Function prototypes
*/
int8_t sht4x_send_cmd(sht4x_cmd_t cmd);
int8_t sht4x_read_data(uint8_t *buffer, int len);
int8_t sht4x_measure(int16_t *temperature, uint16_t *relative_humidity);
#endif /* INC_SHT4X_H_ */

View File

@ -1,78 +0,0 @@
/*
* sps30.h
*
* Created on: Jul 18, 2021
* Author: mrs
*/
#ifndef INC_SPS30_H_
#define INC_SPS30_H_
#include "stdint.h"
#include "stm32l0xx_ll_i2c.h"
#include "stm32l0xx_ll_utils.h"
#include "i2c.h"
#include "crc8.h"
/*
* Defines & macros
*/
#define SPS30_I2C_ADDRESS 0x69
/*
* Return values
*/
#define SPS30_OK 0
#define SPS30_ERROR -1 // generic error
#define SPS30_CRC8_ERROR -2 // checksum failed
/*
* Data types
*/
typedef enum {
SPS30_START_MEASUREMENT = 0x0010,
SPS30_STOP_MEASUREMENT = 0x0104,
SPS30_READ_DATA_READY_FLAG = 0x0202,
SPS30_READ_MEASURED_VALUES = 0x0300,
SPS30_SLEEP = 0x1001,
SPS30_WAKE_UP = 0x1103,
SPS30_START_FAN_CLEANING = 0x5607,
SPS30_READ_AUTO_CLEANING_INTERVAL = 0x8004,
SPS30_WRITE_AUTO_CLEANING_INTERVAL = 0x8004,
SPS30_READ_PRODUCT_TYPE = 0xD002,
SPS30_READ_SERIAL_NUMBER = 0xD033,
SPS30_READ_VERSION = 0xD100,
SPS30_READ_DEVICE_STATUS_REGISTER = 0xD206,
SPS30_CLEAR_DEVICE_STATUS_REGISTER = 0xD210,
SPS30_RESET = 0xD304
} sps30_cmd_t;
typedef enum {
SPS30_FLOAT_FORMAT = 0x03,
SPS30_UINT16_FORMAT = 0x05
} sps30_data_format;
int8_t sps30_send_cmd(sps30_cmd_t cmd);
int8_t sps30_start_measurement( void );
int8_t sps30_stop_measurement( void );
int8_t sps30_read_measured_values(uint16_t *measured_values, uint8_t measured_values_len);
int8_t sps30_sleep( void );
int8_t sps30_wake_up( void );
int8_t sps30_start_fan_cleaning( void );
int8_t sps30_reset( void );
int8_t sps30_read_status_register ( void );
int8_t sps30_read_firmware_version ( uint8_t * fw_ver_hi, uint8_t * fw_ver_lo );
uint8_t calculate_crc(uint8_t data[2]);
#endif /* INC_SPS30_H_ */

View File

@ -52,7 +52,7 @@ void SVC_Handler(void);
void PendSV_Handler(void);
void SysTick_Handler(void);
void TIM21_IRQHandler(void);
void LPUART1_IRQHandler(void);
void USART2_IRQHandler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */

View File

@ -7,6 +7,25 @@
#include "config.h"
/*
* Variables
*/
/* Baudrates - STM32L0xx can do baudrates from 1200 to 115200
* - default value has index 0 */
const uint32_t config_baudrates[] = {
19200, // 0
4800, // 1
9600, // 2
14400, // 3
19200, // 4
28800, // 5
38400, // 6
57600, // 7
76800, // 8
115200 // 9
};
const uint8_t config_baudrates_length = 10;
/* Function to lock the EEPROM */
static int8_t eeprom_lock(void);
/* Function to unlock the EEPROM */
@ -23,8 +42,10 @@ static int8_t eeprom_program_word(uint32_t addr, uint32_t ee_data);
int8_t config_read(config_t *config)
{
config->serial_number_1 = *(uint16_t *) (CONFIG_EEPROM_ADDR_SERIAL_NUMBER_1);
config->serial_number_2 = *(uint16_t *) (CONFIG_EEPROM_ADDR_SERIAL_NUMBER_2);
config->modbus_addr = *(uint16_t *) (CONFIG_EEPROM_ADDR_MODBUS_ADDR);
config->baudrate_index = *(uint32_t *) (CONFIG_EEPROM_ADDR_BAUDRATE_INDEX);
config->baudrate_index = *(uint16_t *) (CONFIG_EEPROM_ADDR_BAUDRATE_INDEX);
config->led_on = *(uint16_t *) (CONFIG_EEPROM_ADDR_LED_ON);
config->led_brightness = *(uint16_t *) (CONFIG_EEPROM_ADDR_LED_BRIGHTNESS);
config->led_smooth = *(uint16_t *) (CONFIG_EEPROM_ADDR_LED_SMOOTH);
@ -41,7 +62,9 @@ int8_t config_read(config_t *config)
if ((config->modbus_addr == EEPROM_EMPTY_BYTE) ||
(config->led_co2_alert_limit1 == EEPROM_EMPTY_BYTE) ||
(config->led_co2_alert_limit2 == EEPROM_EMPTY_BYTE) ||
(config->led_brightness == EEPROM_EMPTY_BYTE))
(config->led_brightness == EEPROM_EMPTY_BYTE) ||
(config->serial_number_1 == EEPROM_EMPTY_BYTE) ||
(config->serial_number_2 == EEPROM_EMPTY_BYTE))
{
return CONFIG_ERROR;
}
@ -58,13 +81,26 @@ int8_t config_write(config_t *config)
/* Reset the ERASE and DATA bits in the FLASH_PECR register to disable any residual erase */
FLASH->PECR = FLASH->PECR & ~(FLASH_PECR_ERASE | FLASH_PECR_DATA);
/* Write SERIAL NUMBER 1 */
if (eeprom_program_halfword(CONFIG_EEPROM_ADDR_SERIAL_NUMBER_1, config->serial_number_1) != EEPROM_OK)
{
return EEPROM_WRITE_ERROR;
}
/* Write SERIAL NUMBER 2 */
if (eeprom_program_halfword(CONFIG_EEPROM_ADDR_SERIAL_NUMBER_2, config->serial_number_2) != EEPROM_OK)
{
return EEPROM_WRITE_ERROR;
}
/* Write MODBUS ADDRESS */
if (eeprom_program_halfword(CONFIG_EEPROM_ADDR_MODBUS_ADDR, config->modbus_addr) != EEPROM_OK)
{
return EEPROM_WRITE_ERROR;
}
/* Write BAUDRATE */
if (eeprom_program_word(CONFIG_EEPROM_ADDR_BAUDRATE_INDEX, config->baudrate_index) != EEPROM_OK)
if (eeprom_program_halfword(CONFIG_EEPROM_ADDR_BAUDRATE_INDEX, config->baudrate_index) != EEPROM_OK)
{
return EEPROM_WRITE_ERROR;
}
@ -76,7 +112,7 @@ int8_t config_write(config_t *config)
}
/* Write LED BRIGHTNESS */
if (eeprom_program_word(CONFIG_EEPROM_ADDR_LED_BRIGHTNESS, config->led_brightness) != EEPROM_OK)
if (eeprom_program_halfword(CONFIG_EEPROM_ADDR_LED_BRIGHTNESS, config->led_brightness) != EEPROM_OK)
{
return EEPROM_WRITE_ERROR;
}

View File

@ -1,28 +0,0 @@
/*
* crc.c
*
* Created on: Jun 9, 2021
* Author: user
*/
#include "crc8.h"
/* Stolen from Sensirion SCD4x datasheet, section 3.11 */
uint8_t crc8_calculate(const uint8_t *data, uint16_t count)
{
uint16_t current_byte;
uint8_t crc = CRC8_INIT;
uint8_t crc_bit;
/* calculates 8-Bit checksum with given polynomial */
for (current_byte = 0; current_byte < count; ++current_byte) {
crc ^= (data[current_byte]);
for(crc_bit = 8; crc_bit > 0; --crc_bit) {
if (crc & 0x80) {
crc =(crc << 1) ^ CRC8_POLYNOMIAL;
} else {
crc = (crc << 1);
}
}
}
return crc;
}

View File

@ -6,11 +6,11 @@
*/
#include "i2c.h"
#include "stm32l0xx_ll_lpuart.h"
#include "stm32l0xx_ll_usart.h"
i2c_context_t *i2c_context;
static i2c_context_t *i2c_context;
int i2c_init(i2c_context_t *context)
int8_t i2c_init(i2c_context_t *context)
{
if (context == NULL) {
return I2C_ERROR;
@ -19,17 +19,13 @@ int i2c_init(i2c_context_t *context)
return I2C_OK;
}
int i2c_transmit(uint8_t address, uint8_t *buffer, int len)
int8_t i2c_transmit(uint8_t address, uint8_t *buffer, int len)
{
/* prevent interrupts during I2C communication (e.g. collision with MODBUS) */
// LL_LPUART_Disable(LPUART1);
// LL_LPUART_DisableIT_RXNE(LPUART1);
// __disable_irq();
LL_I2C_HandleTransfer(i2c_context->i2c, address, LL_I2C_ADDRSLAVE_7BIT, len,
LL_I2C_MODE_AUTOEND, LL_I2C_GENERATE_START_WRITE);
int i = 0;
// Autoend mode will raise STOP flag if NACK is detected
// (or if desired number of bytes is transmitted)
/* Autoend mode will raise STOP flag if NACK is detected
* (or if desired number of bytes is transmitted) */
while (!LL_I2C_IsActiveFlag_STOP(i2c_context->i2c)) {
if (LL_I2C_IsActiveFlag_TXE(i2c_context->i2c)) {
if (i < len) {
@ -38,27 +34,24 @@ int i2c_transmit(uint8_t address, uint8_t *buffer, int len)
}
}
LL_I2C_ClearFlag_STOP(i2c_context->i2c);
if (LL_I2C_IsActiveFlag_NACK(i2c_context->i2c)) {
return I2C_ERROR_NACK;
}
LL_I2C_ClearFlag_TXE(i2c_context->i2c);
if (len != i) {
// this will probably never happen, as NACK flag
// is raised everytime len != number of TXed bytes
/* If we detect NACK during transaction (before the end of the last byte) */
return I2C_ERROR_TX_INCOMPLETE;
}
// __enable_irq();
// LL_LPUART_Enable(LPUART1);
// LL_LPUART_EnableIT_RXNE(LPUART1);
/* NACK after last byte is ok */
// if (LL_I2C_IsActiveFlag_NACK(i2c_context->i2c)) {
//
// return I2C_ERROR_NACK;
// }
return I2C_OK;
}
int i2c_receive(uint8_t address, uint8_t *buffer, int len)
int8_t i2c_receive(uint8_t address, uint8_t *buffer, int len)
{
// __disable_irq();
// LL_LPUART_Disable(LPUART1);
// LL_LPUART_DisableIT_RXNE(LPUART1);
LL_I2C_HandleTransfer(i2c_context->i2c, address, LL_I2C_ADDRSLAVE_7BIT, len,
LL_I2C_MODE_AUTOEND, LL_I2C_GENERATE_START_READ);
LL_I2C_ClearFlag_STOP(i2c_context->i2c);
int i = 0;
while (!LL_I2C_IsActiveFlag_STOP(i2c_context->i2c)) {
if (LL_I2C_IsActiveFlag_RXNE(i2c_context->i2c)) {
@ -71,8 +64,6 @@ int i2c_receive(uint8_t address, uint8_t *buffer, int len)
if (len != i) {
return I2C_ERROR_RX_INCOMPLETE;
}
// __enable_irq();
// LL_LPUART_Enable(LPUART1);
// LL_LPUART_EnableIT_RXNE(LPUART1);
return I2C_OK; // TODO error detection
return I2C_OK;
}

Some files were not shown because too many files have changed in this diff Show More