Commit Graph

51 Commits

Author SHA1 Message Date
Rodrigo Bonifacio
325070d711 Refactoring towards Java language evolution.
- use the diamond operator in a few places
- use of multi-catch in a few places
2017-06-15 11:48:49 -03:00
gohai
8a055dddac IO: Remove unused internal method 2017-04-30 20:43:50 +02:00
gohai
b204f0d498 IO: Remove duplicate argument listing in Reference 2017-04-30 20:42:58 +02:00
gohai
00d3c11032 IO: Fix waitFor(pin, mode) 2017-04-30 20:41:14 +02:00
gohai
5ff162e20a IO: Invert OLED example
This makes bright pixels be illuminated on the display.
2017-04-05 14:52:22 +02:00
gohai
1df221200b IO: Update I2CScreen example
Hardcode i2c interface, add background, fix indentation
2017-04-03 18:18:46 +02:00
gohai
fb4b054bbe IO: Compile native code with -ffast-math 2017-03-13 20:31:57 +01:00
gohai
7c49c34cce IO: Fix SPI.close() 2017-02-26 16:40:27 +01:00
gohai
9025ecee4e IO: Remove superfluous super in examples 2017-02-26 15:26:32 +01:00
gohai
82e0c8764d IO: Make waitFor throw an exception in case of a timeout
Previously, it returned a boolean indicating success. But the code on the caller-side will be nicer to read with exceptions.
2017-02-26 15:26:32 +01:00
gohai
ad6986caef IO: Introduce a variant of waitFor that doesn't take a timeout
This simplifies the semantic of the variant with three arguments, since we now don't have the "-1 means wait forever" case any longer.
2017-02-26 15:26:25 +01:00
gohai
5b4be31a28 IO: Remove the RPI (Raspberry Pi) class
This provided constants that translated from the physical header pin numbers to GPIO lines. Instead, we (and the majority of other Pi related documentation out there) now just use GPIO numbers exclusively.

The class hasn't been used in examples since a few versions, and also wasn't ever properly documented in the reference, so unlikely that many people will notice.
2017-02-22 16:54:03 +01:00
gohai
45fe7a8d73 IO: Rename the (publicly listed) waitForInterrupt function to waitFor
This function is used like this:
GPIO.waitFor(pin number, rising/falling/change, timeout or -1)

While it's using an interrupt internally, in the way it is used it doesn't relate to the interrupt functions (attachInterrupt, etc) at all. To prevent confusion, rename it to waitFor. (Another possible name would be waitForPin.)
2017-02-22 16:46:56 +01:00
gohai
76043ac0dc IO: Tweaks to SoftwareServo JavaDoc 2016-08-28 17:50:40 +02:00
gohai
ad28491c25 IO: Add PHONY target to Makefile 2016-08-28 17:50:40 +02:00
gohai
6bea3ee5c1 IO: Fix compilation on arm
Error introduced in previous commit.
2016-07-15 17:30:18 +02:00
gohai
dbdeb9cf66 IO: We want motors, they said (implements SoftwareServo)
Some measurements with a logic analyzer and the Raspberry Pi 2
sleep: 0.001500, measured avg: 0.0015357, measured 0.95 perc.: 0.0015573
sleep: 0.0185, measured avg: 0.0186177, measured 0.95 perc.: 0.0186345

servo_pulse_oversleep was set to account for the (expected) overhead of waking up and toggling the pin with help from the numbers above.
2016-06-23 19:52:14 +02:00
George Bateman
5767b086f6 Fix most Javadoc errors, except syntax 2016-05-10 19:13:20 +01:00
Ben Fry
db85400515 Merge pull request #4384 from gohai/arm-next
Add a few IO library examples
2016-05-06 20:03:11 -04:00
gohai
fe2082dcce IO: Simulate on all unsupported platforms
Instead of throwing an exception early on, this makes it possible to test all other parts of sketches that make light use of the IO library. A warning is printed once after startup for those environments.

This was tested on OS X against all examples that come with the IO library. Note: x86 and x64 are technically supported platforms. If a user on those prefers to use simulation instead, it is necessary to call NativeInterface.alwaysSimulate() before any other IO library function.
2016-05-05 19:33:37 +02:00
gohai
ef1490566b IO: Fix LedCounter example 2016-05-05 19:27:19 +02:00
gohai
f1077d0a86 IO: Prepare for standalone distribution in Contribution Manager 2016-05-02 18:28:20 +02:00
gohai
0d9d2d22d5 IO: Add an example that shows how to use a digital pin and a capacitor to measure resistive sensors 2016-04-04 21:01:20 +02:00
gohai
29f797bb79 IO: Add an 8-channel ADC example using the MCP3008 2016-04-03 17:37:49 +02:00
gohai
50be2983e2 IO: Add an OLED display example 2016-04-03 17:37:49 +02:00
gohai
f74c4e7a28 IO: Add a byte-variant of I2C.write and SPI.write 2016-04-03 17:37:46 +02:00
Jakub Valtar
dd8698427c Update app to Java 8 2016-04-02 23:17:25 +02:00
gohai
102f55b29d IO: Add comments pointing to wiring diagrams 2016-02-14 11:37:30 +01:00
gohai
c30aa85ab9 IO: Use GPIO numbers in examples
Even the Raspberry Pi Foundation used GPIO numbers over (congruous) physical pin numbers:
https://www.raspberrypi.org/learning/introduction-to-processing/worksheet-2/

Switch our examples as well, so that it they're more clear and hardware-agnostic.
2016-02-14 01:07:37 +01:00
gohai
4bfe0feea5 I/O: Another filename fix for PWM 2015-10-19 20:52:26 +02:00
gohai
5c5d0ce8d8 I/O: Fix PWM filenames 2015-10-19 20:13:18 +02:00
gohai
3905200c57 I/O: Documentation changes 2015-10-15 22:49:55 +02:00
gohai
bffe20f230 I/O: Rename to "Hardware I/O" 2015-10-15 13:15:57 +02:00
gohai
575edf00d1 I/O: Add @webref annotation 2015-10-15 13:07:59 +02:00
gohai
cd03e69f1a I/O: Rename LED.setBrightness() to LED.brightness()
Suggested by Ben. Note: still needs to be updated in processing-docs.
2015-10-15 13:00:05 +02:00
gohai
4d583abbb5 I/O: Remove GPIO.delay(), GPIO.delayMicroseconds()
Ben pointed out that there already is a delay in PApplet. Note: functions still need to be deleted from processing-docs.
2015-10-15 12:59:49 +02:00
gohai
4c94d1e1fa I/O: Convert constants to Javadoc style 2015-10-14 17:14:42 +02:00
gohai
3d42e22627 I/O: Add missing @param
This fixes the last Javadoc warning.
2015-10-14 16:18:50 +02:00
gohai
def1bddafa I/O: Cosmetic fixes 2015-10-14 15:16:54 +02:00
gohai
b20c2266fb I/O: Rename LED.set() to LED.setBrightness() 2015-10-14 15:16:24 +02:00
gohai
b80f6211e9 I/O: Make delay(), delayMicroseconds() public
Those mirror Arduino's API, and should come in handy when waiting for very short intervals between I/O operations.
2015-10-14 15:15:04 +02:00
gohai
6b58a22413 I/O: Tighten the heuristic for catching 8 bit I2C addresses 2015-10-12 17:15:31 +02:00
gohai
341a9073be I/O: Add helpful text for I2C errors 2015-10-12 17:10:15 +02:00
gohai
622e907d68 I/O: Comment fix 2015-10-12 17:02:16 +02:00
gohai
06799bb757 I/O: Move GPIO examples away from I2C pins
It appears as if using the I2C pins for GPIO requires a restart of the Raspberry Pi before the I2C interface can be used again. Play safe and move the examples to pins that aren't used for anything else.
2015-10-12 17:00:49 +02:00
gohai
3ddf2d773c I/O: Remove casts to byte from example sketches 2015-10-12 16:59:04 +02:00
gohai
edf411e566 I/O: Make I2C & SPI accept ints for write()
This makes everyone's sketches a bit lighter, since it is not longer necessary to explicitly cast to byte or call byte(). Instead, we throw an exception if the value does not fit into the byte.
2015-10-12 16:56:01 +02:00
gohai
bc02e4b7b6 I/O: Add examples 2015-10-12 00:11:55 +02:00
gohai
59e05393a5 I/O: Improve messaging when user doesn't have permissions to write to LEDs
This is e.g. the case with the newly released Raspbian 2015-09-24.
2015-10-12 00:06:39 +02:00
gohai
eb240c6192 I/O: Don't throw an exception when trying to release unused pins 2015-10-12 00:05:34 +02:00