Commit Graph

1703 Commits

Author SHA1 Message Date
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
Ben Fry
c8fc1fb72f Merge pull request #4325 from qiubit/bugfix-errorPoints-v2
Move updateErrorPoints background work to UI thread
2016-03-06 13:49:26 -05:00
codeanticode
d4d86d4ac1 add createPreprocessor() to JavaEditor, so it can be overriden in the
editor of other modes
2016-03-03 01:04:39 -05:00
Pawel Golinski
749a4f287a Use normal ArrayList instead of synchronizedList for errorPoints 2016-02-24 13:55:30 +01:00
Pawel Golinski
68aa116c0b Move updateErrorPoints background work to UI thread 2016-02-23 14:55:38 +01:00
Manindra Moharana
d3a0e98fd3 fixed bug in parsing imports with auto completion 2016-02-15 01:55:57 -08:00
Manindra Moharana
b6f067484c Fixed possible NPE in import suggestions 2016-02-15 01:55:28 -08: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
Ben Fry
5113d5dad1 fix indents for #4296 2016-02-13 17:38:35 -05:00
Ben Fry
8e6665eca6 Merge pull request #4296 from PARAG00991/nothingselectedmsg
message when reference is find out on nothing selected
2016-02-13 17:37:27 -05:00
Ben Fry
4b0a631280 Merge branch 'master' of github.com:processing/processing 2016-02-13 17:33:54 -05:00
Ben Fry
c144e1278c todo items and removing unused imports 2016-02-13 17:33:52 -05:00
Ben Fry
9606ce040b make output quieter (#4098) 2016-02-13 17:26:26 -05:00
Ben Fry
d896e9ac19 Merge pull request #4152 from gohai/recursion-message
Make the error message for stack overflows clearer
2016-02-13 17:07:20 -05:00
parag00991
a1d508444c message when reference is find out on nothing selected 2016-02-14 03:34:58 +05:30
Ben Fry
85542d1216 Merge pull request #4060 from crazymaster/i18n
i18n: Add i18n support for the PopUp menu
2016-02-13 10:47:12 -05:00
Ben Fry
8b881a34ca Merge pull request #4114 from GKFX/null-check-tap
Minor fixes to Java Mode
2016-02-13 10:43:05 -05:00
Ben Fry
0c025a65bd Merge pull request #4113 from JakubValtar/various-fixes
Various editor fixes
2016-02-13 10:40:29 -05:00
Ben Fry
61763c19d7 Merge pull request #4117 from JakubValtar/debugger-fix
Debugger fixes
2016-02-13 10:36:47 -05:00
Ben Fry
a464a7a6e5 Merge pull request #4200 from GKFX/autoformat
Fix minor autoformatter bugs. Fixes #4185.
2016-02-13 10:11:43 -05:00
Ben Fry
962e699613 Merge pull request #4079 from JakubValtar/jit-bug-workaround
Workaround for JRE bug freezing the PDE
2016-02-13 09:30:11 -05:00
Manindra Moharana
578217c0ca Updated to use the modified ECS classloader 2016-01-27 02:45:06 -08:00
George Bateman
cbf974630b Fix minor autoformatter bugs. Fixes #4185.
Enums without semicolons and labels that aren't in a method body.
2015-12-12 14:37:42 +00:00
gohai
f4c7d5492f Make the error message for stack overflows clearer
Regarding #4149 and against the better advice of #2623

Currently recursive functions only output this:

"crashed in event thread due to Timeout occurred while waiting for packet 29.
org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 29.
	at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:186)
	at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:197)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:191)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:226)
	at org.eclipse.jdi.internal.ThreadReferenceImpl.frames(ThreadReferenceImpl.java:257)
	at org.eclipse.jdi.internal.ThreadReferenceImpl.frames(ThreadReferenceImpl.java:240)
	at processing.mode.java.runner.Runner.findException(Runner.java:726)
	at processing.mode.java.runner.Runner.reportException(Runner.java:709)
	at processing.mode.java.runner.Runner.exceptionEvent(Runner.java:631)
	at processing.mode.java.runner.Runner$2.run(Runner.java:523)
org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 30.
	at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:186)
	at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:197)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:191)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:226)
	at org.eclipse.jdi.internal.VirtualMachineImpl.exit(VirtualMachineImpl.java:716)
	at processing.mode.java.runner.Runner.close(Runner.java:801)
	at processing.mode.java.JavaEditor.handleStop(JavaEditor.java:1156)
	at processing.mode.java.JavaToolbar.handleStop(JavaToolbar.java:146)
	at processing.mode.java.JavaToolbar$4.actionPerformed(JavaToolbar.java:104)
	at processing.app.ui.EditorButton.mousePressed(EditorButton.java:181)
	at java.awt.Component.processMouseEvent(Component.java:6522)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6290)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4530)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
	at java.awt.Container.dispatchEventImpl(Container.java:2278)
	at java.awt.Window.dispatchEventImpl(Window.java:2750)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)"

with the patch this becomes

"A StackOverflowError means that you have a bug that's causing a function
to be called recursively (it's calling itself and going in circles),
or you're intentionally calling a recursive function too much,
and your code should be rewritten in a more efficient manner."

(and the TimeoutException once you click the stop button)
2015-11-17 06:31:35 +01:00
Jakub Valtar
129ffb5f6c Run Tooltip code in Marker Column on AWT 2015-11-09 13:35:47 +01:00
Jakub Valtar
0e5bfdf29d Prevent NPEs in ToolTipManager
Might get rid of #3286
2015-11-09 13:29:14 +01:00
Jakub Valtar
05b66536a2 Code styling 2015-11-08 19:38:33 +01:00
Jakub Valtar
97ad08c2da Fix typo in debugger 2015-11-08 19:37:03 +01:00
Jakub Valtar
15b3a4718d Fix crash when entering static methods
Fixes #3590
2015-11-08 19:27:41 +01:00
Jakub Valtar
bbbfea9129 Fix modifiers on step button
Fixes #4116
2015-11-08 19:25:57 +01:00
Jakub Valtar
33d798867f Threading: touch UI only on AWT 2015-11-08 18:46:38 +01:00
George Bateman
64aaf9c6bc Minor fixes to Java Mode 2015-11-08 16:08:25 +00:00
Jakub Valtar
921099df04 Make tooltips saner 2015-11-07 11:16:20 +01:00
Jakub Valtar
a1eb347338 Make CompletionCandidate immutable
This one goes from ASTGenerator on a background thread to the JList
which displays code suggestions. Until refactored, I'm making it
immutable with convenience methods returning mutated copies to prevent
possible threading issues.
2015-10-30 03:27:08 +01:00
crazymaster
6844ecdf6b i18n: Add i18n support for the PopUp menu 2015-10-25 21:30:29 +09:00
Ben Fry
1ffe4b3bbb remove unused imports 2015-10-23 15:57:16 -04:00
Ben Fry
f411433eeb Merge pull request #4045 from JakubValtar/fix-preproc-crash
Prevent preprocessor from crashing when setup() has no body
2015-10-22 11:32:41 -04:00
Jakub Valtar
c62968da8e ANTLR does not support diamonds, ignore 2015-10-22 16:24:50 +02:00
Jakub Valtar
eddd963ca1 Fix exception in preprocessor
Trying to run sketch with setup() without a body would crash the
preprocessor. Now it gives correct error message.
2015-10-22 16:19:50 +02:00
Jakub Valtar
055125f89a Make warnings actually useful for beginners 2015-10-22 15:46:27 +02:00
Jakub Valtar
56a8e505ab Remove aggressive manual garbage collection 2015-10-22 15:10:38 +02:00
Jakub Valtar
dc528ada43 Styling 2015-10-22 14:39:05 +02:00
Jakub Valtar
715273a15b Unify compiler options, set level to Java 7
Does not guarantee support for all Java 7 features (only some), but
warns about lambdas not being available. Lambdas are not supported,
because they make ANTLR angry.

Fixes #4034
2015-10-22 12:45:54 +02:00