Commit Graph

1044 Commits

Author SHA1 Message Date
A Pottinger
c14695476e Moves to Java11 and OpenJDK via AdoptOpenJDK within the processing4 train.
Moves to Java11 and OpenJDK via AdoptOpenJDK within the processing4 train using a squash of sampottinger processing fork's java11 branch.

**Primary required changes:**
Some changes directly support OpenJFX / OpenJDK 11:

 - Response to image loading changes caused by [JEP 320](https://openjdk.java.net/jeps/320)
 - Use of jmodules as necessitated by [JEP 261](https://openjdk.java.net/jeps/261)
 - Reponse to largely changed file paths caused by [JEP 220](https://openjdk.java.net/jeps/220).
 - Modifications in build system related to AdoptOpenJDK and Java 11 which have a different naming structure for downloads.
 - Allowing use of non-Oracle Java within internal Processing checks.

**Secondary required changes:**
There were some secondary required changes that impacted the usability of Processing after having moved to OpenJFX / OpenJDK 11:

 - Removal of com.apple.eawt calls related to [JEP 272](http://openjdk.java.net/jeps/272)
 - Response to HiDPI support on Windows and Linux in [JEP 263](https://openjdk.java.net/jeps/263)
- Removal of `java.ext.dirs`. Would be forced by [JEP 220](http://openjdk.java.net/jeps/220).
 - Due to bugs on Windows, updated the JNA jars.
 - Changes in downloader build tasks to support AdoptOpenJDK and OpenJFX.
 - Updated org.eclipse.* / equinox jars.
 - Some optimization around size of distribution.
 - Update of AppBundler.
 - Some changes in formulation of classpath and modifications in PreprocessingService given [JEP 261](https://openjdk.java.net/jeps/261).

**Incidental changes:**
This was (ahem) a bit of a larger PR with the above modifications. So, I wanted to introduce automated tests when possible and convenient along with a few changes for platform sustainability in order to support development:

 - Addition of cross-building capability (!) made possible by AdoptOpenJDK.
 - Addition of mockito for testing.
 - Upgrade of junit.
 - Addition of ant-contrib.
 - Standardized nomenclature around JRE / JDK in `build/build.xml`
 - Deduplication of code in `jre/build.xml`.
 - Addition of JavaDoc in a few places.
 - Some refactoring of PImage / Shape to support increased testing and readability in image manipulation code.
2019-10-05 20:49:33 -07:00
REAS
9ec706889f Removing DoubleDict DoubleList LongDict LongList from Reference 2019-07-26 15:47:21 -07:00
REAS
dc322fb48a Remove redundant params for Server reference 2019-07-25 12:47:22 -07:00
Ben Fry
3673396587 move to JDK 1.8 instead of 1.6 b/c of Eclipse warnings 2019-01-18 09:55:43 -08:00
gohai
a7e2d6f122 IO: Unify ADC examples 2018-07-26 00:25:12 -07:00
gohai
a21e5a280e IO: Add ADS1X15 Analog-to-Digital converter example 2018-07-26 00:25:06 -07:00
gohai
cbdfb06c99 IO: Add a dispose method to PCA9685 example, document pulse widths
Developed together with @OlivierLD
2018-07-12 13:27:30 -07:00
gohai
cc46c5e680 IO: Fix pinMode() retry logic
If the file node is not accessible yet, NativeInterface.writeFile() will return -EACCES instead of -EPERM. Thanks @msurguy for reporting this and testing.
2018-07-11 14:07:06 -07:00
gohai
80453e84ba IO: Make I2C errors more verbose
The error code returned from C seems to have changed from -EIO to -EREMOTEIO during some recent kernel version.
2018-07-10 10:16:46 -07:00
gohai
89c7a24152 IO: Rename ServoSweep example 2018-07-01 10:05:18 -07:00
gohai
7bd50e435a IO: Remove the duplicate "duty" argument from the reference for PWM.set() 2018-07-01 10:05:18 -07:00
Olivier LeDiouris
9843d1c88d IO: Add PCA9685 servo/PWM controller example
Donated by @OlivierLD, minor cleanups by @gohai
2018-07-01 10:05:18 -07:00
Olivier LeDiouris
5db3ec9227 IO: Add TSL2561 environmental sensor example
Donated by @OlivierLD, minor cleanups by @gohai
2018-07-01 10:05:18 -07:00
Olivier LeDiouris
2e05386994 IO: Add BME280 environmental sensor example
Donated by @OlivierLD, minor cleanups by @gohai
2018-07-01 10:05:18 -07:00
gohai
8aa1f803c4 IO: Add MPR121 capacitive touch example 2018-07-01 10:05:18 -07:00
gohai
67c4f3bd9d IO: Reorganize OOP examples 2018-07-01 10:05:18 -07:00
gohai
0bb5b77328 IO: Add a 100ms timeout to I2C to allow communication with Arduino
Note this currently does not include the compiled binary for linux-arm64
2018-07-01 10:05:03 -07:00
gohai
41a52e7423 IO: Fix crash when I2C.read() was called without prior write() 2018-07-01 10:05:03 -07:00
gohai
99e5f74694 IO: Speed up GPIO.pinMode() 2018-06-26 19:13:19 -07:00
gohai
aba636275c IO: Clarify SimpleInput example
As suggested by @msurguy
2018-06-26 19:12:51 -07:00
gohai
de2cac9860 IO: Implement Raspbian-only method for setting pull{up,down} resistors
Aarch64 version compiled courtesy of @xranby
2018-06-18 07:38:30 -07:00
Ben Fry
6b7580889c blendMode() should be a warning, not fatal 2018-03-28 10:40:13 -04:00
Ben Fry
2ac50a99a5 show warning when using blendMode() with PDF (fixes #5105) 2018-03-13 20:13:09 -04:00
Jakub Valtar
404990f29f Fix Net library buffer sizes
Because I don't know how to count...
2018-02-02 17:14:56 +01:00
Jakub Valtar
d887779eb6 Net-client: perf tuning - make read buf the size of socket receive buf 2018-01-22 20:28:09 +01:00
Jakub Valtar
fe465fe4de Net-client: remove unneeded synchronization block 2018-01-22 19:50:48 +01:00
Jakub Valtar
bb6c9a568a Net-server: remove suspicious sleep 2018-01-22 19:50:06 +01:00
Jakub Valtar
f6b08df336 Net-server: call clientEvent() of the sketch when received data from a client 2018-01-22 19:34:21 +01:00
Jakub Valtar
2b1cd66f83 Net: unwrap the exception if it came from the user code 2018-01-22 13:44:43 +01:00
Jakub Valtar
0d12c46825 Net-server: remove extra array creation 2018-01-21 22:32:16 +01:00
Jakub Valtar
b692215775 Net-server: properly synchronize clients array 2018-01-21 22:30:46 +01:00
Jakub Valtar
f76d3c4f80 Net-client: remove extra catch block
Handled by IOException block (it's a superclass of ConnectException and does the same thing).
2018-01-21 22:30:46 +01:00
Jakub Valtar
0e12d1175e Net-client: remove unnecessary array creation 2018-01-21 22:30:45 +01:00
Jakub Valtar
aba056cf96 Net-client: set max buffer size 2018-01-21 22:30:36 +01:00
Jakub Valtar
e7f6e1b5b0 Net-client: read bytes to a read buffer instead of one by one 2018-01-21 22:28:01 +01:00
Jakub Valtar
e64a283a00 Net-client: compact the buffer if possible instead of resizing 2018-01-21 17:03:55 +01:00
Jakub Valtar
f140299e48 Net-client: synchronize access to all concurrently modified fields 2018-01-21 16:42:45 +01:00
Jakub Valtar
05a2819a58 Net-client: use final field for lock 2018-01-21 16:40:47 +01:00
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