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