Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
5c61677ab9 | |||
21025b5f83 | |||
f9a0729b63 | |||
8e456f5c3c | |||
e05e147d6a | |||
fc83cc5d5b | |||
7974f36c31 | |||
6513dbc901 | |||
97215e894a | |||
1368ee824b | |||
f2344ac52e | |||
299acea61f | |||
a99f0212ac | |||
d128dad3dc | |||
3d7ebeb7b7 | |||
304cbb5ee3 | |||
0f7ec45db4 | |||
2bc2bda502 |
@ -11,5 +11,8 @@
|
|||||||
<div class="ui container horizontal small divided link list">
|
<div class="ui container horizontal small divided link list">
|
||||||
<a class="ui centered item" href="https://makecode.com/" title="Microsoft MakeCode" target="_blank" rel="noopener">Powered by Microsoft MakeCode</a>
|
<a class="ui centered item" href="https://makecode.com/" title="Microsoft MakeCode" target="_blank" rel="noopener">Powered by Microsoft MakeCode</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="ui centered container small list">
|
||||||
|
<p class="item">LEGO, the LEGO logo, MINDSTORMS and the MINDSTORMS EV3 logo are trademarks and/ or copyrights of the LEGO Group. ©2018 The LEGO Group. All rights reserved.</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
702
docs/c6f8cfc0-7849-47dd-a6d5-1b3ef05a5780.html
Normal file
702
docs/c6f8cfc0-7849-47dd-a6d5-1b3ef05a5780.html
Normal file
@ -0,0 +1,702 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>LEGO® MINDSTORMS® Education EV3 Offline App</title>
|
||||||
|
<meta name="Description" content="A MakeCode for LEGO® MINDSTORMS® Education EV3 offline app" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<!-- @include indexhead.html -->
|
||||||
|
|
||||||
|
<style>
|
||||||
|
p.item {
|
||||||
|
color: rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui.inverted.content {
|
||||||
|
background: #00a5c8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content.segment {
|
||||||
|
min-height: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .welcomeheader {
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer.segment {
|
||||||
|
padding: 5em 0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image.left {
|
||||||
|
padding-left: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image.right {
|
||||||
|
padding-right: 2em;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.segments {
|
||||||
|
max-width: 60%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.segments.terms-container {
|
||||||
|
margin-top: 5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms-container .segment {
|
||||||
|
background-color: rgb(250, 250, 250);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 800px) {
|
||||||
|
.grid .column .image {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.segments {
|
||||||
|
max-width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Auto-generated styles for the license terms -->
|
||||||
|
<style type="text/css">
|
||||||
|
.terms ol {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms table td,
|
||||||
|
.terms table th {
|
||||||
|
padding: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
.c1 {
|
||||||
|
margin-left: 63pt;
|
||||||
|
padding-top: 6pt;
|
||||||
|
text-indent: -22.5pt;
|
||||||
|
padding-bottom: 6pt;
|
||||||
|
line-height: 1.15;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.c8 {
|
||||||
|
margin-left: 58.5pt;
|
||||||
|
padding-top: 0pt;
|
||||||
|
padding-bottom: 0pt;
|
||||||
|
line-height: 1.15;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.c2 {
|
||||||
|
color: #000000;
|
||||||
|
font-weight: 400;
|
||||||
|
text-decoration: none;
|
||||||
|
vertical-align: baseline;
|
||||||
|
font-family: "Arial";
|
||||||
|
font-style: normal
|
||||||
|
}
|
||||||
|
|
||||||
|
.c3 {
|
||||||
|
padding-top: 6pt;
|
||||||
|
padding-bottom: 6pt;
|
||||||
|
line-height: 1.15;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.c17 {
|
||||||
|
padding-top: 0pt;
|
||||||
|
padding-bottom: 12pt;
|
||||||
|
line-height: 1.15;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.c12 {
|
||||||
|
padding-top: 0pt;
|
||||||
|
padding-bottom: 0pt;
|
||||||
|
line-height: 1.15;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.c6 {
|
||||||
|
color: #000000;
|
||||||
|
text-decoration: none;
|
||||||
|
vertical-align: baseline;
|
||||||
|
font-family: "Arial";
|
||||||
|
font-style: normal
|
||||||
|
}
|
||||||
|
|
||||||
|
.c14 {
|
||||||
|
text-decoration-skip-ink: none;
|
||||||
|
-webkit-text-decoration-skip: none;
|
||||||
|
color: #0000ff;
|
||||||
|
text-decoration: underline
|
||||||
|
}
|
||||||
|
|
||||||
|
.c18 {
|
||||||
|
text-decoration-skip-ink: none;
|
||||||
|
-webkit-text-decoration-skip: none;
|
||||||
|
text-decoration: underline
|
||||||
|
}
|
||||||
|
|
||||||
|
.c19 {
|
||||||
|
background-color: #ffffff;
|
||||||
|
max-width: 468pt;
|
||||||
|
padding: 72pt 72pt 72pt 72pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.c9 {
|
||||||
|
margin-left: 40pt;
|
||||||
|
text-indent: -18pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.c4 {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: inherit
|
||||||
|
}
|
||||||
|
|
||||||
|
.c7 {
|
||||||
|
margin-left: 59pt;
|
||||||
|
text-indent: -18pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.c10 {
|
||||||
|
font-size: 11pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.c0 {
|
||||||
|
font-size: 10pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.c15 {
|
||||||
|
margin-left: 36pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.c5 {
|
||||||
|
font-weight: 700
|
||||||
|
}
|
||||||
|
|
||||||
|
.c13 {
|
||||||
|
margin-left: 23pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.c16 {
|
||||||
|
height: 11pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.c11 {
|
||||||
|
font-size: 12pt
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms .title {
|
||||||
|
padding-top: 0pt;
|
||||||
|
color: #000000;
|
||||||
|
font-size: 26pt;
|
||||||
|
padding-bottom: 3pt;
|
||||||
|
font-family: "Arial";
|
||||||
|
line-height: 1.15;
|
||||||
|
page-break-after: avoid;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms .subtitle {
|
||||||
|
padding-top: 0pt;
|
||||||
|
color: #666666;
|
||||||
|
font-size: 15pt;
|
||||||
|
padding-bottom: 16pt;
|
||||||
|
font-family: "Arial";
|
||||||
|
line-height: 1.15;
|
||||||
|
page-break-after: avoid;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms li {
|
||||||
|
color: #000000;
|
||||||
|
font-size: 11pt;
|
||||||
|
font-family: "Arial"
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms p {
|
||||||
|
margin: 0;
|
||||||
|
color: #000000;
|
||||||
|
font-size: 11pt;
|
||||||
|
font-family: "Arial"
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms h1 {
|
||||||
|
padding-top: 20pt;
|
||||||
|
color: #000000;
|
||||||
|
font-size: 20pt;
|
||||||
|
padding-bottom: 6pt;
|
||||||
|
font-family: "Arial";
|
||||||
|
line-height: 1.15;
|
||||||
|
page-break-after: avoid;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms h2 {
|
||||||
|
padding-top: 18pt;
|
||||||
|
color: #000000;
|
||||||
|
font-size: 16pt;
|
||||||
|
padding-bottom: 6pt;
|
||||||
|
font-family: "Arial";
|
||||||
|
line-height: 1.15;
|
||||||
|
page-break-after: avoid;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms h3 {
|
||||||
|
padding-top: 16pt;
|
||||||
|
color: #434343;
|
||||||
|
font-size: 14pt;
|
||||||
|
padding-bottom: 4pt;
|
||||||
|
font-family: "Arial";
|
||||||
|
line-height: 1.15;
|
||||||
|
page-break-after: avoid;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms h4 {
|
||||||
|
padding-top: 14pt;
|
||||||
|
color: #666666;
|
||||||
|
font-size: 12pt;
|
||||||
|
padding-bottom: 4pt;
|
||||||
|
font-family: "Arial";
|
||||||
|
line-height: 1.15;
|
||||||
|
page-break-after: avoid;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms h5 {
|
||||||
|
padding-top: 12pt;
|
||||||
|
color: #666666;
|
||||||
|
font-size: 11pt;
|
||||||
|
padding-bottom: 4pt;
|
||||||
|
font-family: "Arial";
|
||||||
|
line-height: 1.15;
|
||||||
|
page-break-after: avoid;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms h6 {
|
||||||
|
padding-top: 12pt;
|
||||||
|
color: #666666;
|
||||||
|
font-size: 11pt;
|
||||||
|
padding-bottom: 4pt;
|
||||||
|
font-family: "Arial";
|
||||||
|
line-height: 1.15;
|
||||||
|
page-break-after: avoid;
|
||||||
|
font-style: italic;
|
||||||
|
orphans: 2;
|
||||||
|
widows: 2;
|
||||||
|
text-align: left
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function agreeCheckboxChanged() {
|
||||||
|
var downloadSegment = document.getElementById("download-segment");
|
||||||
|
downloadSegment.classList.toggle("hidden");
|
||||||
|
}
|
||||||
|
function downloadWin32() {
|
||||||
|
// TODO: Keep this link up-to-date with the desired release version
|
||||||
|
window.open("http://makecode.com/api/release/ev3/v0.3.2/win32");
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id='root' class='root'>
|
||||||
|
|
||||||
|
<div class="ui inverted vertical center aligned segment content">
|
||||||
|
|
||||||
|
<div class="ui grid">
|
||||||
|
<div class="three wide column">
|
||||||
|
<img class="ui small image left" src="/static//lego_education_logo_white.png" />
|
||||||
|
</div>
|
||||||
|
<div class="ten wide column">
|
||||||
|
<h1 class="ui inverted welcomeheader">MakeCode Offline App</h1>
|
||||||
|
</div>
|
||||||
|
<div class="three wide column">
|
||||||
|
<img class="ui small image right" src="/static//Microsoft-logo_rgb_c-white.png" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="ui compact segments terms-container">
|
||||||
|
<div class="ui secondary center aligned segment">
|
||||||
|
Please read and accept the following terms to download the app.
|
||||||
|
</div>
|
||||||
|
<div class="ui left aligned segment terms">
|
||||||
|
<div class="c19">
|
||||||
|
<p class="c12">
|
||||||
|
<span class="c6 c5 c11">MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS</span>
|
||||||
|
</p>
|
||||||
|
<p class="c12">
|
||||||
|
<span class="c6 c5 c11">MICROSOFT MAKECODE SOFTWARE FOR LEGO MINDSTORMS EDUCATION EV3</span>
|
||||||
|
</p>
|
||||||
|
<p class="c12 c16">
|
||||||
|
<span class="c6 c0 c5"></span>
|
||||||
|
</p>
|
||||||
|
<p class="c12">
|
||||||
|
<span class="c2 c0">These license terms are an agreement between Microsoft Corporation (or based on where you live, one
|
||||||
|
of its affiliates) and you. They apply to the software named above. The terms also apply to any
|
||||||
|
Microsoft services or updates for the software, except to the extent those have additional terms.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c12 c16">
|
||||||
|
<span class="c2 c0"></span>
|
||||||
|
</p>
|
||||||
|
<p class="c12">
|
||||||
|
<span class="c6 c5 c11">If you comply with these license terms, you have the rights below.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">1.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">INSTALLATION AND USE RIGHTS. </span>
|
||||||
|
<span class="c2 c0">You may install and use any number of copies of the software to evaluate it as you develop and test
|
||||||
|
your software applications for use with Lego Mindstorms Education EV3 hardware.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">2.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">PRE-RELEASE SOFTWARE. </span>
|
||||||
|
<span class="c2 c0">The software is a pre-release version. It may not work the way a final version of the software will.
|
||||||
|
Microsoft may change it for the final, commercial version. We also may not release a commercial
|
||||||
|
version. Microsoft is not obligated to provide maintenance, technical support or updates to you
|
||||||
|
for the software.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">3.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Associated Online Services.</span>
|
||||||
|
<span class="c0"> Some features of the software may provide access
|
||||||
|
to, or rely on, Azure online services, including an associated Azure online service to the software
|
||||||
|
currently in development (the “corresponding service”). The use of those services
|
||||||
|
(but not the software) is governed by the separate terms and privacy policies in the agreement
|
||||||
|
under which you obtained the Azure services at</span>
|
||||||
|
<span class="c0">
|
||||||
|
<a class="c4" href="https://www.google.com/url?q=https://go.microsoft.com/fwLink/p/?LinkID%3D233178&sa=D&ust=1529526883494000"> </a>
|
||||||
|
</span>
|
||||||
|
<span class="c0 c18">
|
||||||
|
<a class="c4" href="https://www.google.com/url?q=https://go.microsoft.com/fwLink/p/?LinkID%3D233178&sa=D&ust=1529526883494000">https://go.microsoft.com/fwLink/p/?LinkID=233178</a>
|
||||||
|
</span>
|
||||||
|
<span class="c2 c0"> (and, with respect to the corresponding service, the additional terms below). Please read them.
|
||||||
|
The services may not be available in all regions.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">4.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Licenses for other components.</span>
|
||||||
|
<span class="c2 c0"> The software may include third party components with separate legal notices or governed by
|
||||||
|
other agreements, as described in the ThirdPartyNotices file accompanying the software. Even
|
||||||
|
if such components are governed by other agreements, the disclaimers and the limitations on and
|
||||||
|
exclusions of damages below also apply.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">5.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c6 c0 c5">DATA.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c7">
|
||||||
|
<span class="c0 c5">a.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Data Collection. </span>
|
||||||
|
<span class="c0">The software may collect information about you and your use of the software, and send that to Microsoft.
|
||||||
|
Microsoft may use this information to provide services and improve our products and services.
|
||||||
|
You may opt out of many of these scenarios, but not all, as described in the product documentation.
|
||||||
|
In using the software, you must comply with applicable law. You can learn more about data collection
|
||||||
|
and use in the help documentation and the privacy statement at</span>
|
||||||
|
<span class="c0">
|
||||||
|
<a class="c4" href="https://www.google.com/url?q=http://go.microsoft.com/fwlink/?LinkId%3D398505&sa=D&ust=1529526883495000"> </a>
|
||||||
|
</span>
|
||||||
|
<span class="c0 c14">
|
||||||
|
<a class="c4" href="https://www.google.com/url?q=http://go.microsoft.com/fwlink/?LinkId%3D398505&sa=D&ust=1529526883495000">http://go.microsoft.com/fwlink/?LinkId=398505</a>
|
||||||
|
</span>
|
||||||
|
<span class="c2 c0">. Your use of the software operates as your consent to these practices.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c7">
|
||||||
|
<span class="c0 c5">b.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Processing of Personal Data. </span>
|
||||||
|
<span class="c2 c0">To the extent Microsoft is a processor or subprocessor of personal data in connection with the software,
|
||||||
|
Microsoft makes the commitments in the European Union General Data Protection Regulation Terms
|
||||||
|
of the Online Services Terms to all customers effective May 25, 2018, at http://go.microsoft.com/?linkid=9840733.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">6.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">FEEDBACK. </span>
|
||||||
|
<span class="c2 c0">If you give feedback about the software to Microsoft, you give to Microsoft, without charge, the
|
||||||
|
right to use, share and commercialize your feedback in any way and for any purpose. You will
|
||||||
|
not give feedback that is subject to a license that requires Microsoft to license its software
|
||||||
|
or documentation to third parties because we include your feedback in them. These rights survive
|
||||||
|
this agreement.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">7.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">SCOPE OF LICENSE.</span>
|
||||||
|
<span class="c2 c0"> The software is licensed, not sold. This agreement only gives you some rights to use the software.
|
||||||
|
Microsoft reserves all other rights. Unless applicable law gives you more rights despite this
|
||||||
|
limitation, you may use the software only as expressly permitted in this agreement. In
|
||||||
|
doing so, you must comply with any technical limitations in the software that only allow you
|
||||||
|
to use it in certain ways. You may not:</span>
|
||||||
|
</p>
|
||||||
|
<p class="c1">
|
||||||
|
<span class="c2 c0">- work around any technical limitations in the software;</span>
|
||||||
|
</p>
|
||||||
|
<p class="c1">
|
||||||
|
<span class="c2 c0">- reverse engineer, decompile or disassemble the software, or attempt to do
|
||||||
|
so, except and only to the extent required by third party licensing terms governing use of certain
|
||||||
|
open source components that may be included with the software;</span>
|
||||||
|
</p>
|
||||||
|
<p class="c1">
|
||||||
|
<span class="c2 c0">- remove, minimize, block or modify any notices of Microsoft or its suppliers
|
||||||
|
in the software;</span>
|
||||||
|
</p>
|
||||||
|
<p class="c1">
|
||||||
|
<span class="c2 c0">- use the software in any way that is against the law; or</span>
|
||||||
|
</p>
|
||||||
|
<p class="c1">
|
||||||
|
<span class="c2 c0">- share, publish, rent or lease the software, or provide the software as a stand-alone
|
||||||
|
offering for others to use.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">8. UPDATES. </span>
|
||||||
|
<span class="c2 c0">The software may periodically check for updates and download and install them for you. You may obtain
|
||||||
|
updates only from Microsoft or authorized sources. Microsoft may need to update your system to
|
||||||
|
provide you with updates. You agree to receive these automatic updates without any additional
|
||||||
|
notice. Updates may not include or support all existing software features, services, or peripheral
|
||||||
|
devices.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">9.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">EXPORT RESTRICTIONS.</span>
|
||||||
|
<span class="c2 c0"> You must comply with all domestic and international export laws and regulations that apply
|
||||||
|
to the software, which include restrictions on destinations, end users and end use. For further
|
||||||
|
information on export restrictions, visit (aka.ms/exporting).</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">10.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">SUPPORT SERVICES. </span>
|
||||||
|
<span class="c0 c2">Because the software is “as is,” we may not provide support services for it.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">11.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">ENTIRE AGREEMENT.</span>
|
||||||
|
<span class="c2 c0"> This agreement, and the terms for supplements, updates, Internet-based services and support
|
||||||
|
services that you use, are the entire agreement for the software and support services.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">12.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">APPLICABLE LAW. </span>
|
||||||
|
<span class="c2 c0">If you acquired the software in the United States, Washington State law applies to interpretation
|
||||||
|
of and claims for breach of this agreement, and the laws of the state where you live apply to
|
||||||
|
all other claims. If you acquired the software in any other country, its laws apply.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">13.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">CONSUMER RIGHTS; REGIONAL VARIATIONS. </span>
|
||||||
|
<span class="c2 c0">This agreement describes certain legal rights. You may have other rights, including consumer rights,
|
||||||
|
under the laws of your state or country. Separate and apart from your relationship with Microsoft,
|
||||||
|
you may also have rights with respect to the party from which you acquired the software. This
|
||||||
|
agreement does not change those other rights if the laws of your state or country do not permit
|
||||||
|
it to do so. For example, if you acquired the software in one of the below regions, or mandatory
|
||||||
|
country law applies, then the following provisions apply to you:</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c7">
|
||||||
|
<span class="c0 c5">a.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Australia. </span>
|
||||||
|
<span class="c2 c0">You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is
|
||||||
|
intended to affect those rights.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c7">
|
||||||
|
<span class="c0 c5">b.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Canada. </span>
|
||||||
|
<span class="c2 c0">If you acquired the software in Canada, you may stop receiving updates by turning off the automatic
|
||||||
|
update feature, disconnecting your device from the Internet (if and when you re-connect to the
|
||||||
|
Internet, however, the software will resume checking for and installing updates), or uninstalling
|
||||||
|
the software. The product documentation, if any, may also specify how to turn off updates for
|
||||||
|
your specific device or software.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c7">
|
||||||
|
<span class="c0 c5">c.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Germany and Austria</span>
|
||||||
|
<span class="c2 c0">.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c8">
|
||||||
|
<span class="c0 c5">(i)</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Warranty</span>
|
||||||
|
<span class="c2 c0">. The properly licensed software will perform substantially as described in any Microsoft materials
|
||||||
|
that accompany the software. However, Microsoft gives no contractual guarantee in relation to
|
||||||
|
the licensed software.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c8">
|
||||||
|
<span class="c6 c0 c5"> </span>
|
||||||
|
</p>
|
||||||
|
<p class="c8">
|
||||||
|
<span class="c0 c5">(ii)</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">Limitation of Liability</span>
|
||||||
|
<span class="c2 c0">. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as
|
||||||
|
well as, in case of death or personal or physical injury, Microsoft is liable according to the
|
||||||
|
statutory law.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c15">
|
||||||
|
<span class="c2 c0">Subject to the foregoing clause (ii), Microsoft will only be liable for slight negligence if Microsoft
|
||||||
|
is in breach of such material contractual obligations, the fulfillment of which facilitate the
|
||||||
|
due performance of this agreement, the breach of which would endanger the purpose of this agreement
|
||||||
|
and the compliance with which a party may constantly trust in (so-called "cardinal obligations").
|
||||||
|
In other cases of slight negligence, Microsoft will not be liable for slight negligence.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">14.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c0 c5">LEGAL EFFECT.</span>
|
||||||
|
<span class="c2 c0"> This agreement describes certain legal rights. You may have other rights under the laws of
|
||||||
|
your country. You may also have rights with respect to the party from whom you acquired the software.
|
||||||
|
This agreement does not change your rights under the laws of your country if the laws of your
|
||||||
|
country do not permit it to do so.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">15.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c6 c0 c5">DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF
|
||||||
|
USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED
|
||||||
|
UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c9">
|
||||||
|
<span class="c0 c5">16.</span>
|
||||||
|
<span class="c0"> </span>
|
||||||
|
<span class="c6 c0 c5">LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT
|
||||||
|
DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST
|
||||||
|
PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c13">
|
||||||
|
<span class="c2 c0">This limitation applies to (a) anything related to the software, services, content (including code)
|
||||||
|
on third party Internet sites, or third party programs; and (b) claims for breach of contract,
|
||||||
|
breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the
|
||||||
|
extent permitted by applicable law.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3 c13">
|
||||||
|
<span class="c2 c0">It also applies even if Microsoft knew or should have known about the possibility of the damages.
|
||||||
|
The above limitation or exclusion may not apply to you because your country may not allow the
|
||||||
|
exclusion or limitation of incidental, consequential or other damages.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3">
|
||||||
|
<span class="c6 c0 c5">Please note: As the software is distributed in Quebec, Canada, some of the clauses in this agreement
|
||||||
|
are provided below in French.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3">
|
||||||
|
<span class="c0 c5 c6">Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses
|
||||||
|
dans ce contrat sont fournies ci-dessous en français.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c12">
|
||||||
|
<span class="c0 c5">EXONÉRATION DE GARANTIE.</span>
|
||||||
|
<span class="c2 c0"> Le logiciel visé par une licence est offert « tel quel ». Toute utilisation
|
||||||
|
de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune
|
||||||
|
autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu
|
||||||
|
du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles
|
||||||
|
sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation
|
||||||
|
à un usage particulier et d’absence de contrefaçon sont exclues.
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<p class="c12">
|
||||||
|
<span class="c0 c5">LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES.</span>
|
||||||
|
<span class="c2 c0"> Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages
|
||||||
|
directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune
|
||||||
|
indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou
|
||||||
|
accessoires et pertes de bénéfices.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3">
|
||||||
|
<span class="c2 c0">Cette limitation concerne :</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3">
|
||||||
|
<span class="c2 c0">- tout ce qui est relié au logiciel, aux services ou au contenu
|
||||||
|
(y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3">
|
||||||
|
<span class="c2 c0">- les réclamations au titre de violation de contrat ou de garantie,
|
||||||
|
ou au titre de responsabilité stricte, de négligence ou d’une autre faute
|
||||||
|
dans la limite autorisée par la loi en vigueur.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c3">
|
||||||
|
<span class="c2 c0">Elle s’applique également, même si Microsoft connaissait ou devrait connaître
|
||||||
|
l’éventualité d’un tel dommage. Si votre pays n’autorise pas
|
||||||
|
l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires
|
||||||
|
ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus
|
||||||
|
ne s’appliquera pas à votre égard.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c17">
|
||||||
|
<span class="c0 c5">EFFET JURIDIQUE.</span>
|
||||||
|
<span class="c2 c0"> Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres
|
||||||
|
droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les
|
||||||
|
droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.</span>
|
||||||
|
</p>
|
||||||
|
<p class="c17 c16">
|
||||||
|
<span class="c2 c0"></span>
|
||||||
|
</p>
|
||||||
|
<p class="c12">
|
||||||
|
<span class="c2 c0"> </span>
|
||||||
|
</p>
|
||||||
|
<p class="c12 c16">
|
||||||
|
<span class="c2 c10"></span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="ui center aligned segment">
|
||||||
|
<input id="agree-checkbox" type="checkbox" autocomplete="off" onchange="agreeCheckboxChanged(this)">
|
||||||
|
<label for="agree-checkbox">I agree to the terms</label>
|
||||||
|
</div>
|
||||||
|
<div id="download-segment" class="ui center aligned segment hidden">
|
||||||
|
<h3 class="ui">Windows</h3>
|
||||||
|
<button class="ui icon button" onclick="downloadWin32()">
|
||||||
|
<i class="download icon"></i>
|
||||||
|
makecode-ev3-setup-win32.exe
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- @include footer.html -->
|
||||||
|
<!-- @include tracking.html -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -135,15 +135,15 @@ Keeping the Large Motor connected to **Port D**, connect the Color Sensor to **P
|
|||||||
|
|
||||||
```blocks
|
```blocks
|
||||||
brick.buttonEnter.onEvent(ButtonEvent.Pressed, function () {
|
brick.buttonEnter.onEvent(ButtonEvent.Pressed, function () {
|
||||||
sensors.color3.pauseUntilColorDetected(ColorSensorColor.Green)
|
sensors.color4.pauseUntilColorDetected(ColorSensorColor.Green)
|
||||||
motors.largeD.run(50, 1, MoveUnit.Rotations)
|
motors.largeD.run(50, 1, MoveUnit.Rotations)
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
* Using the same program, replace the ``||sensors:pause until touch 1||`` block with a ``||sensors:pause color sensor 3||`` for color block.
|
* Using the same program, replace the ``||sensors:pause until touch 1||`` block with a ``||sensors:pause color sensor 4||`` for color block.
|
||||||
|
|
||||||
```block
|
```block
|
||||||
sensors.color3.pauseUntilColorDetected(ColorSensorColor.Green)
|
sensors.color4.pauseUntilColorDetected(ColorSensorColor.Green)
|
||||||
```
|
```
|
||||||
|
|
||||||
* Select the color you want to detect (e.g., green).
|
* Select the color you want to detect (e.g., green).
|
||||||
|
@ -86,18 +86,6 @@ Step by step guides to coding your @boardname@.
|
|||||||
}]
|
}]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Ultrasonic Sensor
|
|
||||||
|
|
||||||
```codecard
|
|
||||||
[{
|
|
||||||
"name": "Object Near?",
|
|
||||||
"description": "Build a program that will detect when an object is nearby.",
|
|
||||||
"cardType": "tutorial",
|
|
||||||
"url":"/tutorials/object-near",
|
|
||||||
"imageUrl":"/static/tutorials/object-near.png"
|
|
||||||
}]
|
|
||||||
```
|
|
||||||
|
|
||||||
## Infrared Sensor
|
## Infrared Sensor
|
||||||
|
|
||||||
```codecard
|
```codecard
|
||||||
|
@ -60,7 +60,7 @@ const rbfTemplate = `
|
|||||||
4c45474f580000006d000100000000001c000000000000000e000000821b038405018130813e8053
|
4c45474f580000006d000100000000001c000000000000000e000000821b038405018130813e8053
|
||||||
74617274696e672e2e2e0084006080XX00448581644886488405018130813e80427965210084000a
|
74617274696e672e2e2e0084006080XX00448581644886488405018130813e80427965210084000a
|
||||||
`
|
`
|
||||||
export function deployCoreAsync(resp: pxtc.CompileResult, isCli = false) {
|
export function deployCoreAsync(resp: pxtc.CompileResult) {
|
||||||
let w: pxt.editor.Ev3Wrapper
|
let w: pxt.editor.Ev3Wrapper
|
||||||
|
|
||||||
let filename = resp.downloadFileBaseName || "pxt"
|
let filename = resp.downloadFileBaseName || "pxt"
|
||||||
@ -101,7 +101,7 @@ export function deployCoreAsync(resp: pxtc.CompileResult, isCli = false) {
|
|||||||
if (pxt.commands && pxt.commands.electronDeployAsync) {
|
if (pxt.commands && pxt.commands.electronDeployAsync) {
|
||||||
return pxt.commands.electronDeployAsync(resp);
|
return pxt.commands.electronDeployAsync(resp);
|
||||||
}
|
}
|
||||||
if (!isCli && pxt.commands && pxt.commands.saveOnlyAsync) {
|
if (pxt.commands && pxt.commands.saveOnlyAsync) {
|
||||||
return pxt.commands.saveOnlyAsync(resp);
|
return pxt.commands.saveOnlyAsync(resp);
|
||||||
}
|
}
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
@ -121,10 +121,7 @@ export function deployCoreAsync(resp: pxtc.CompileResult, isCli = false) {
|
|||||||
.then(() => w.flashAsync(rbfPath, rbfBIN))
|
.then(() => w.flashAsync(rbfPath, rbfBIN))
|
||||||
.then(() => w.runAsync(rbfPath))
|
.then(() => w.runAsync(rbfPath))
|
||||||
.then(() => {
|
.then(() => {
|
||||||
if (isCli)
|
return w.disconnectAsync()
|
||||||
return w.disconnectAsync()
|
|
||||||
else
|
|
||||||
return Promise.resolve()
|
|
||||||
//return Promise.delay(1000).then(() => w.dmesgAsync())
|
//return Promise.delay(1000).then(() => w.dmesgAsync())
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
// if we failed to initalize, retry
|
// if we failed to initalize, retry
|
||||||
|
@ -28,7 +28,7 @@ pxt.editor.initExtensionsAsync = function (opts: pxt.editor.ExtensionOptions): P
|
|||||||
<div class="ui grid stackable">
|
<div class="ui grid stackable">
|
||||||
<div class="column five wide" style="background-color: #E2E2E2;">
|
<div class="column five wide" style="background-color: #E2E2E2;">
|
||||||
<div class="ui header">${lf("First time here?")}</div>
|
<div class="ui header">${lf("First time here?")}</div>
|
||||||
<strong style="font-size:small">${lf("You must have version 1.10 or above of the firmware")}</strong>
|
<strong style="font-size:small">${lf("You must have version 1.10E or above of the firmware")}</strong>
|
||||||
<div style="justify-content: center;display: flex;padding: 1rem;">
|
<div style="justify-content: center;display: flex;padding: 1rem;">
|
||||||
<img class="ui image" src="./static/download/firmware.png" style="height:100px;" />
|
<img class="ui image" src="./static/download/firmware.png" style="height:100px;" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -16,10 +16,8 @@
|
|||||||
"ns.ts",
|
"ns.ts",
|
||||||
"control.cpp",
|
"control.cpp",
|
||||||
"control.ts",
|
"control.ts",
|
||||||
"eventcontext.ts",
|
"console.ts",
|
||||||
"serial.cpp",
|
"eventcontext.ts"
|
||||||
"serial.ts",
|
|
||||||
"fieldeditors.ts"
|
|
||||||
],
|
],
|
||||||
"testFiles": [
|
"testFiles": [
|
||||||
"test.ts"
|
"test.ts"
|
||||||
|
17
libs/base/shims.d.ts
vendored
17
libs/base/shims.d.ts
vendored
@ -142,23 +142,12 @@ declare namespace control {
|
|||||||
//% blockId="control_device_serial_number" block="device serial number" weight=9
|
//% blockId="control_device_serial_number" block="device serial number" weight=9
|
||||||
//% help=control/device-serial-number shim=control::deviceSerialNumber
|
//% help=control/device-serial-number shim=control::deviceSerialNumber
|
||||||
function deviceSerialNumber(): int32;
|
function deviceSerialNumber(): int32;
|
||||||
}
|
|
||||||
declare namespace serial {
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write some text to the serial port.
|
*
|
||||||
*/
|
*/
|
||||||
//% help=serial/write-string
|
//% shim=control::__log
|
||||||
//% weight=87 blockHidden=true
|
function __log(text: string): void;
|
||||||
//% blockId=serial_writestring block="serial|write string %text" shim=serial::writeString
|
|
||||||
function writeString(text: string): void;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Send a buffer across the serial connection.
|
|
||||||
*/
|
|
||||||
//% help=serial/write-buffer weight=6 blockHidden=true
|
|
||||||
//% blockId=serial_writebuffer block="serial|write buffer %buffer" shim=serial::writeBuffer
|
|
||||||
function writeBuffer(buffer: Buffer): void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auto-generated. Do not edit. Really.
|
// Auto-generated. Do not edit. Really.
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
/// <reference no-default-lib="true"/>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reading and writing data to the console output.
|
|
||||||
*/
|
|
||||||
//% weight=12 color=#00451A icon="\uf112"
|
|
||||||
//% advanced=true
|
|
||||||
namespace console {
|
|
||||||
type Listener = (text: string) => void;
|
|
||||||
|
|
||||||
const listeners: Listener[] = [
|
|
||||||
(text: string) => serial.writeLine(text)
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a line of text to the console output.
|
|
||||||
* @param value to send
|
|
||||||
*/
|
|
||||||
//% weight=90
|
|
||||||
//% help=console/log blockGap=8
|
|
||||||
//% blockId=console_log block="console|log %text"
|
|
||||||
export function log(text: string): void {
|
|
||||||
for (let i = 0; i < listeners.length; ++i)
|
|
||||||
listeners[i](text);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a name:value pair as a line of text to the console output.
|
|
||||||
* @param name name of the value stream, eg: "x"
|
|
||||||
* @param value to write
|
|
||||||
*/
|
|
||||||
//% weight=88 blockGap=8
|
|
||||||
//% help=console/log-value
|
|
||||||
//% blockId=console_log_value block="console|log value %name|= %value"
|
|
||||||
export function logValue(name: string, value: number): void {
|
|
||||||
log(`${name}: ${value}`)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a listener for the log messages
|
|
||||||
* @param listener
|
|
||||||
*/
|
|
||||||
//%
|
|
||||||
export function addListener(listener: (text: string) => void) {
|
|
||||||
if (!listener) return;
|
|
||||||
listeners.push(listener);
|
|
||||||
}
|
|
||||||
}
|
|
@ -22,4 +22,9 @@ namespace motors {
|
|||||||
export function __turnRatioPicker(turnratio: number): number {
|
export function __turnRatioPicker(turnratio: number): number {
|
||||||
return turnratio;
|
return turnratio;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//% icon="\uf112"
|
||||||
|
namespace console {
|
||||||
|
|
||||||
}
|
}
|
1
libs/core/platform.h
Normal file
1
libs/core/platform.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
// leave empty
|
@ -10,7 +10,6 @@
|
|||||||
"linux.cpp",
|
"linux.cpp",
|
||||||
"mmap.cpp",
|
"mmap.cpp",
|
||||||
"control.cpp",
|
"control.cpp",
|
||||||
"console.ts",
|
|
||||||
"timer.ts",
|
"timer.ts",
|
||||||
"serialnumber.cpp",
|
"serialnumber.cpp",
|
||||||
"buttons.ts",
|
"buttons.ts",
|
||||||
@ -25,7 +24,8 @@
|
|||||||
"enums.d.ts",
|
"enums.d.ts",
|
||||||
"dal.d.ts",
|
"dal.d.ts",
|
||||||
"icons.jres",
|
"icons.jres",
|
||||||
"ns.ts"
|
"ns.ts",
|
||||||
|
"platform.h"
|
||||||
],
|
],
|
||||||
"testFiles": [
|
"testFiles": [
|
||||||
"test.ts"
|
"test.ts"
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
// This is the last thing executed before user code
|
// This is the last thing executed before user code
|
||||||
|
|
||||||
|
// pulse green, play startup sound, turn off light
|
||||||
|
brick.setStatusLight(StatusLight.GreenPulse);
|
||||||
// We pause for 100ms to give time to read sensor values, so they work in on_start block
|
// We pause for 100ms to give time to read sensor values, so they work in on_start block
|
||||||
pause(100)
|
pause(400)
|
||||||
|
// and we're ready
|
||||||
|
brick.setStatusLight(StatusLight.Off);
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
namespace music {
|
namespace music {
|
||||||
/**
|
/**
|
||||||
* Get the frequency of a note.
|
* Get the frequency of a note.
|
||||||
* @param name the note name, eg: Note.C
|
* @param note the note name, eg: Note.C
|
||||||
*/
|
*/
|
||||||
//% weight=1 help=music/note-frequency
|
//% weight=1 help=music/note-frequency
|
||||||
//% blockId=device_note block="%note"
|
//% blockId=device_note block="%note"
|
||||||
//% shim=TD_ID
|
//% shim=TD_ID
|
||||||
//% color="#FFFFFF" colorSecondary="#FFFFFF" colorTertiary="#D67923"
|
//% color="#FFFFFF" colorSecondary="#FFFFFF" colorTertiary="#D67923"
|
||||||
//% note.fieldEditor="note" note.defl="1046"
|
//% note.fieldEditor="note" note.defl="1046"
|
||||||
//% note.fieldOptions.editorColour="#FF1493" note.fieldOptions.decompileLiterals=true
|
//% note.fieldOptions.editorColour="#D67923" note.fieldOptions.decompileLiterals=true
|
||||||
//% note.fieldOptions.minNote=52 note.fieldOptions.maxNote=75
|
//% note.fieldOptions.minNote=40 note.fieldOptions.maxNote=75
|
||||||
//% useEnumVal=1
|
//% useEnumVal=1
|
||||||
//% weight=10 blockGap=8
|
//% weight=10 blockGap=8
|
||||||
export function noteFrequency(name: Note): number {
|
export function noteFrequency(note: Note): number {
|
||||||
//TODO fill in actual min/max note values
|
//TODO fill in actual min/max note values
|
||||||
return name;
|
return note;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
libs/screen/image.d.ts
vendored
Normal file
1
libs/screen/image.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
// leave empty
|
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pxt-ev3",
|
"name": "pxt-ev3",
|
||||||
"version": "0.3.2",
|
"version": "0.3.4",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pxt-ev3",
|
"name": "pxt-ev3",
|
||||||
"version": "0.3.2",
|
"version": "0.3.4",
|
||||||
"description": "LEGO MINDSTORMS EV3 for Microsoft MakeCode",
|
"description": "LEGO MINDSTORMS EV3 for Microsoft MakeCode",
|
||||||
"private": true,
|
"private": true,
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@ -39,8 +39,8 @@
|
|||||||
"webfonts-generator": "^0.4.0"
|
"webfonts-generator": "^0.4.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"pxt-common-packages": "0.23.15",
|
"pxt-common-packages": "0.23.38",
|
||||||
"pxt-core": "3.19.4"
|
"pxt-core": "3.20.8"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "node node_modules/pxt-core/built/pxt.js travis"
|
"test": "node node_modules/pxt-core/built/pxt.js travis"
|
||||||
|
@ -30,7 +30,7 @@ namespace pxsim {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getSpeed() {
|
getSpeed() {
|
||||||
return this.speed * (this.polarity == 0 ? -1 : 1);
|
return this.speed * (!this._synchedMotor && this.polarity == 0 ? -1 : 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
getAngle() {
|
getAngle() {
|
||||||
@ -49,7 +49,7 @@ namespace pxsim {
|
|||||||
// new command TODO: values
|
// new command TODO: values
|
||||||
this.speedCmd = cmd;
|
this.speedCmd = cmd;
|
||||||
this.speedCmdValues = values;
|
this.speedCmdValues = values;
|
||||||
this.speedCmdTacho = this.angle;
|
this.speedCmdTacho = this.tacho;
|
||||||
this.speedCmdTime = pxsim.U.now();
|
this.speedCmdTime = pxsim.U.now();
|
||||||
delete this._synchedMotor;
|
delete this._synchedMotor;
|
||||||
}
|
}
|
||||||
@ -150,7 +150,8 @@ namespace pxsim {
|
|||||||
const step2 = this.speedCmdValues[2];
|
const step2 = this.speedCmdValues[2];
|
||||||
const step3 = this.speedCmdValues[3];
|
const step3 = this.speedCmdValues[3];
|
||||||
const brake = this.speedCmdValues[4];
|
const brake = this.speedCmdValues[4];
|
||||||
const dstep = (this.speedCmd == DAL.opOutputTimePower || this.speedCmd == DAL.opOutputTimeSpeed)
|
const isTimeCommand = this.speedCmd == DAL.opOutputTimePower || this.speedCmd == DAL.opOutputTimeSpeed;
|
||||||
|
const dstep = isTimeCommand
|
||||||
? pxsim.U.now() - this.speedCmdTime
|
? pxsim.U.now() - this.speedCmdTime
|
||||||
: this.tacho - this.speedCmdTacho;
|
: this.tacho - this.speedCmdTacho;
|
||||||
if (dstep < step1) // rampup
|
if (dstep < step1) // rampup
|
||||||
@ -161,6 +162,16 @@ namespace pxsim {
|
|||||||
this.speed = speed * (step1 + step2 + step3 - dstep) / (step1 + step2 + step3);
|
this.speed = speed * (step1 + step2 + step3 - dstep) / (step1 + step2 + step3);
|
||||||
else {
|
else {
|
||||||
if (brake) this.speed = 0;
|
if (brake) this.speed = 0;
|
||||||
|
if (!isTimeCommand) {
|
||||||
|
// we need to patch the actual position of the motor when
|
||||||
|
// finishing the move as our integration step introduce errors
|
||||||
|
const deltaAngle = -Math.sign(speed) * (dstep - (step1 + step2 + step3));
|
||||||
|
if (deltaAngle) {
|
||||||
|
this.angle += deltaAngle;
|
||||||
|
this.tacho -= Math.abs(deltaAngle);
|
||||||
|
this.setChangedState();
|
||||||
|
}
|
||||||
|
}
|
||||||
this.clearSpeedCmd();
|
this.clearSpeedCmd();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -7,9 +7,6 @@
|
|||||||
@headerFont : "Open Sans","Arial Narrow","Helvetica Neue",Helvetica,Arial,sans-serif;
|
@headerFont : "Open Sans","Arial Narrow","Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||||
@pageFont : "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
|
@pageFont : "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||||
|
|
||||||
@emSize : 14px;
|
|
||||||
@fontSize : 13px;
|
|
||||||
|
|
||||||
@primaryColor: @blue;
|
@primaryColor: @blue;
|
||||||
@secondaryColor: @yellow;
|
@secondaryColor: @yellow;
|
||||||
|
|
||||||
@ -31,6 +28,7 @@
|
|||||||
@legoGreyDark: #f4f7f9;
|
@legoGreyDark: #f4f7f9;
|
||||||
|
|
||||||
@grey: @legoGreyLight;
|
@grey: @legoGreyLight;
|
||||||
|
@darkGrey: #999;
|
||||||
|
|
||||||
/* Lego official colors */
|
/* Lego official colors */
|
||||||
|
|
||||||
@ -152,6 +150,8 @@
|
|||||||
@homeScreenBackground: #F2F2F2;
|
@homeScreenBackground: #F2F2F2;
|
||||||
@homeCardBorderColor: #F2F2F2;
|
@homeCardBorderColor: #F2F2F2;
|
||||||
|
|
||||||
|
@homeDetailCloseBackground: @darkGrey;
|
||||||
|
|
||||||
/*-------------------
|
/*-------------------
|
||||||
Editor
|
Editor
|
||||||
--------------------*/
|
--------------------*/
|
||||||
@ -197,4 +197,10 @@
|
|||||||
|
|
||||||
@serialBackgroundColor: #fff;
|
@serialBackgroundColor: #fff;
|
||||||
@serialGraphBackground: #F2F2F2;
|
@serialGraphBackground: #F2F2F2;
|
||||||
@serialConsoleBackground: @serialGraphBackground;
|
@serialConsoleBackground: @serialGraphBackground;
|
||||||
|
|
||||||
|
/*-------------------
|
||||||
|
Extensions
|
||||||
|
--------------------*/
|
||||||
|
|
||||||
|
@extensionsHeaderBackground: @darkGrey;
|
Reference in New Issue
Block a user