Skip to content

Commit

Permalink
Various fixes (microsoft#548)
Browse files Browse the repository at this point in the history
* adding running time micros

* support for system micro seconds

* restore display mode after plotting sprites

* bump pxt
  • Loading branch information
pelikhan authored Oct 11, 2017
1 parent 8d9c908 commit cdbc345
Show file tree
Hide file tree
Showing 10 changed files with 49 additions and 10 deletions.
1 change: 1 addition & 0 deletions docs/reference/input.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ input.lightLevel();
input.rotation(Rotation.Pitch);
input.magneticForce(Dimension.X);
input.runningTime();
input.runningTimeMicros();
input.setAccelerometerRange(AcceleratorRange.OneG);
```

Expand Down
17 changes: 17 additions & 0 deletions docs/reference/input/running-time-micros.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Running Time Micros

Find how long it has been since the program started in micro-seconds.

```sig
input.runningTimeMicros();
```

## Returns

* the [Number](/types/number) of microseconds since the program started.
(One second is 1000000 microseconds.)

## See also

[show number](/reference/basic/show-number), [pause](/reference/basic/pause)

2 changes: 1 addition & 1 deletion docs/reference/input/running-time.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Running Time

Find how long it has been since the program started.
Find how long it has been since the program started in milli-seconds.

```sig
input.runningTime();
Expand Down
1 change: 1 addition & 0 deletions libs/core/_locales/core-jsdoc-strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@
"input.rotation": "The pitch or roll of the device, rotation along the ``x-axis`` or ``y-axis``, in degrees.",
"input.rotation|param|kind": "TODO",
"input.runningTime": "Gets the number of milliseconds elapsed since power on.",
"input.runningTimeMicros": "Gets the number of microseconds elapsed since power on.",
"input.setAccelerometerRange": "Sets the accelerometer sample range in gravities.",
"input.setAccelerometerRange|param|range": "a value describe the maximum strengh of acceleration measured",
"input.temperature": "Gets the temperature in Celsius degrees (°C).",
Expand Down
1 change: 1 addition & 0 deletions libs/core/_locales/core-strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@
"input.onPinReleased|block": "on pin %NAME|released",
"input.pinIsPressed|block": "pin %NAME|is pressed",
"input.rotation|block": "rotation (°)|%NAME",
"input.runningTimeMicros|block": "running time (micros)",
"input.runningTime|block": "running time (ms)",
"input.setAccelerometerRange|block": "set accelerometer|range %range",
"input.temperature|block": "temperature (°C)",
Expand Down
9 changes: 3 additions & 6 deletions libs/core/game.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,16 +73,11 @@ namespace game {
_backgroundAnimation = true;
control.inBackground(() => {
led.stopAnimation();
const dm = led.displayMode();
if (dm != DisplayMode.BackAndWhite)
led.setDisplayMode(DisplayMode.BackAndWhite);
basic.showAnimation(`0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0`, 20);
if (dm != DisplayMode.BackAndWhite)
led.setDisplayMode(dm);
_backgroundAnimation = false;
});
}
Expand Down Expand Up @@ -125,7 +120,6 @@ namespace game {
unplugEvents();
led.stopAnimation();
led.setBrightness(255);
led.setDisplayMode(DisplayMode.BackAndWhite);
while (true) {
for (let i = 0; i < 8; i++) {
basic.clearScreen();
Expand Down Expand Up @@ -777,6 +771,9 @@ namespace game {
_sprites[i]._plot(now);
}
_img.plotImage(0);
// restore previous display mode
if (dm != DisplayMode.Greyscale)
led.setDisplayMode(dm);
}

/**
Expand Down
12 changes: 11 additions & 1 deletion libs/core/input.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -339,13 +339,23 @@ namespace input {
/**
* Gets the number of milliseconds elapsed since power on.
*/
//% help=input/running-time weight=50
//% help=input/running-time weight=50 blockGap=8
//% blockId=device_get_running_time block="running time (ms)"
//% advanced=true
int runningTime() {
return system_timer_current_time();
}

/**
* Gets the number of microseconds elapsed since power on.
*/
//% help=input/running-time-micros weight=49
//% blockId=device_get_running_time_micros block="running time (micros)"
//% advanced=true
int runningTimeMicros() {
return system_timer_current_time_us();
}

/**
* Obsolete, compass calibration is automatic.
*/
Expand Down
10 changes: 9 additions & 1 deletion libs/core/shims.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -332,11 +332,19 @@ declare namespace input {
/**
* Gets the number of milliseconds elapsed since power on.
*/
//% help=input/running-time weight=50
//% help=input/running-time weight=50 blockGap=8
//% blockId=device_get_running_time block="running time (ms)"
//% advanced=true shim=input::runningTime
function runningTime(): number;

/**
* Gets the number of microseconds elapsed since power on.
*/
//% help=input/running-time-micros weight=49
//% blockId=device_get_running_time_micros block="running time (micros)"
//% advanced=true shim=input::runningTimeMicros
function runningTimeMicros(): number;

/**
* Obsolete, compass calibration is automatic.
*/
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,6 @@
"semantic-ui-less": "^2.2.4"
},
"dependencies": {
"pxt-core": "0.14.1"
"pxt-core": "0.14.3"
}
}
4 changes: 4 additions & 0 deletions sim/state/misc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@ namespace pxsim.input {
return runtime.runningTime();
}

export function runningTimeMicros(): number {
return runtime.runningTimeUs();
}

export function calibrateCompass() {
// device calibrates...
}
Expand Down

0 comments on commit cdbc345

Please sign in to comment.