<h3>Contribution description</h3>
<p>Package the Arduino-SDI-12 library, see <a href="https://github.com/EnviroDIY/Arduino-SDI-12">https://github.com/EnviroDIY/Arduino-SDI-12</a></p>
<p>SDI-12 is a serial communications protocol used by many sensors.</p>

<h3>Testing procedure</h3>
<p>Testing that the test program builds:</p>
<div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="BOARD=arduino-mega2560 make -C tests/pkg_arduino_sdi_12/
"><pre><code>BOARD=arduino-mega2560 make -C tests/pkg_arduino_sdi_12/
</code></pre></div>
<p>This is a test I've done using ATmega2560 board and the Decagon CTD-10 sensor:</p>
<div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="$ BOARD=arduino-mega2560 make -C tests/pkg_arduino_sdi_12/ all flash term
[...]
2021-06-22 11:14:04,436 # Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
2021-06-22 11:14:05,442 # This is RIOT! (Version: 2021.07-devel-459-gb840b0-sdi12)
2021-06-22 11:14:05,442 # 

2021-06-22 11:14:05,445 # main(): This is RIOT! (Version: 2021.07-devel-459-gb840b0-sdi12)
2021-06-22 11:14:06,296 # 013DECAGON CTD-103991059303507
2021-06-22 11:14:09,678 # 013DECAGON CTD-103991059303507
2021-06-22 11:14:13,057 # 013DECAGON CTD-103991059303507
2021-06-22 11:14:13,468 # Exiting Pyterm
"><pre><code>$ BOARD=arduino-mega2560 make -C tests/pkg_arduino_sdi_12/ all flash term
[...]
2021-06-22 11:14:04,436 # Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
2021-06-22 11:14:05,442 # This is RIOT! (Version: 2021.07-devel-459-gb840b0-sdi12)
2021-06-22 11:14:05,442 # 

2021-06-22 11:14:05,445 # main(): This is RIOT! (Version: 2021.07-devel-459-gb840b0-sdi12)
2021-06-22 11:14:06,296 # 013DECAGON CTD-103991059303507
2021-06-22 11:14:09,678 # 013DECAGON CTD-103991059303507
2021-06-22 11:14:13,057 # 013DECAGON CTD-103991059303507
2021-06-22 11:14:13,468 # Exiting Pyterm
</code></pre></div>

<h3>Issues/PRs references</h3>
<p>This PR supersedes PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="897886034" data-permission-text="Title is private" data-url="https://github.com/RIOT-OS/RIOT/issues/16490" data-hovercard-type="pull_request" data-hovercard-url="/RIOT-OS/RIOT/pull/16490/hovercard" href="https://github.com/RIOT-OS/RIOT/pull/16490">#16490</a></p>


<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/RIOT-OS/RIOT/pull/16587'>https://github.com/RIOT-OS/RIOT/pull/16587</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Package Arduino-SDI-12</li>
  <li>arduino-atmega: define F_CPU, required by pkg/arduino_sdi_12</li>
  <li>Arduino: add vendor files required by SDI-12 pkg</li>
  <li>Arduino(atmega): add digitalPinTo* macros</li>
  <li>Arduino(atmega): add interrupts/noInterrupts macro</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-06bcda59325bb0bb68efcda894aef6df071e378573254e38d1aa17f892140914">boards/common/arduino-atmega/include/arduino_board.h</a>
    (26)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-3223b6e0d434344ffda05e0c00352aa9f5d5109e61b11a125af68cd5a3bc4072">boards/common/arduino-atmega/include/arduino_pinmap.h</a>
    (27)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-6d56c6cf118d798a2e6cfb8a0a82cd77fea915c948ccd22c2896eda80ab78aea">pkg/Kconfig</a>
    (1)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-a2e74a2a63f7afe0d10a2c24ee49d629e6dcdf9a65c5b90a04ca05fae6f61359">pkg/arduino_sdi_12/Kconfig</a>
    (4)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-37ce816b6bd839293ac925739e9f6146710a2b772e60ffb0df663a7ef8af5af4">pkg/arduino_sdi_12/Makefile</a>
    (9)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-1e406540430d7630e7000ee47d256d8f11c15db6bac92882093605180476f41b">pkg/arduino_sdi_12/Makefile.dep</a>
    (2)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-9279d0e23d2aa5f19ae84d609b0488272a5873d83a290bef0c6ec1cedb3361dd">pkg/arduino_sdi_12/Makefile.include</a>
    (3)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-0f53f62c01e320b2dc0ab757b5f274fbf62eab1fd92d06e71636ad225dddcba1">pkg/arduino_sdi_12/doc.txt</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-aeb52ae183beb592ba184f894db01e781e94742bf830c5119dfaaac6892014f0">sys/arduino/Makefile</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-a8ea64fd6f1ceff2ae8e7631af687e2743bca07137d6ea408fd4380d9bc292f6">sys/arduino/Makefile.include</a>
    (1)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-2251e8f5312f99a0b084deaa1aa74d35c3730a8f42de77ab2280e97bd4693a6f">sys/arduino/vendor/Makefile</a>
    (3)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-a8c97d691ad153734ab0e661430da8b81eb3c0b7fc949eb68e01a7331ec8cbb4">sys/arduino/vendor/Print.cpp</a>
    (266)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-27dd8b0d147bed0faaeb790295064ab67f4aa489f60a5180dc36707434cbe80a">sys/arduino/vendor/Stream.cpp</a>
    (318)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-ba440ed15b6bc9f2a5188fb1b236c346edfafee1441647ecba3dee29262e7bda">sys/arduino/vendor/include/Print.h</a>
    (93)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-8b6bdd19939ebc0b5c87490e94d6b2c9d9fcbf39856df60c77f24a2e141c1bbf">sys/arduino/vendor/include/Printable.h</a>
    (40)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-8da751937a3981bdc0b2a2e95ad25b6d886227029c4eff261a49e260556824e3">sys/arduino/vendor/include/Stream.h</a>
    (129)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-50fd3cb427e0d79bd193567e9eac0863a8f7de8f4f5658778ecccf60185133f0">sys/arduino/vendor/include/WString.h</a>
    (229)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-194cc23e8ce92448adceb3404acb9f1a7954b47731cfa8a0b09c191eb94d6974">tests/pkg_arduino_sdi_12/Makefile</a>
    (5)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/RIOT-OS/RIOT/pull/16587/files#diff-e0c1c5caa0760153d0a2129a57a7873ec15ada8c33640479559b07b52b68def7">tests/pkg_arduino_sdi_12/main.cpp</a>
    (43)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/RIOT-OS/RIOT/pull/16587.patch'>https://github.com/RIOT-OS/RIOT/pull/16587.patch</a></li>
  <li><a href='https://github.com/RIOT-OS/RIOT/pull/16587.diff'>https://github.com/RIOT-OS/RIOT/pull/16587.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/RIOT-OS/RIOT/pull/16587">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABE7WYAJDAUJOO2EIA2MLKTTUSLK3ANCNFSM47KBSORA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/ABE7WYCS73OTDJZFM3JJBK3TUSLK3A5CNFSM47KBSORKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4N3SUXCQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/RIOT-OS/RIOT/pull/16587",
"url": "https://github.com/RIOT-OS/RIOT/pull/16587",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>