RE: serialmon_speedup_2nd_try.zip
Seems to work - same speed as 1st. Stopping AutoScroll to copy text or page - stops incoming data write/update? Scroll bar surges a bit - as if it is filling a buffer then freezing that buffer and starting a new one - then it rejoins/jumps with autoscroll enabled. Which seems usable to capture - if done at the right time!
Indeed Button push on T4 and t_sermon allows select/copy of text from text area:
Code:
count=50444750, lines/sec=216682
count=50444751, lines/sec=216682
count=50444752, lines/sec=216682
count=50444753, lines/sec=216682
count=50444754, lines/sec=216682
count=50444755, lines/sec=216682
And POWER Off>On restarts in same window without reconnect.
I found some Console notes here on Win 10 after playing with Clear/AutoScroll/Scroll bar:
Code:
FifoDocument.getText *****NEGATIVE NUMBER ERROR*****
Exception in thread "AWT-EventQueue-0" javax.swing.text.StateInvariantError: Can't render line: 15971
at javax.swing.text.PlainView.drawLine(PlainView.java:92)
at javax.swing.text.PlainView.paint(PlainView.java:311)
at javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1434)
at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:737)
at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:881)
at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:860)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JViewport.paint(JViewport.java:728)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
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$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
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)
FifoDocument.getText *****NEGATIVE NUMBER ERROR*****
FifoDocument.getText *****NEGATIVE NUMBER ERROR*****
Exception in thread "AWT-EventQueue-0" javax.swing.text.StateInvariantError: Can't render line: 15971
at javax.swing.text.PlainView.drawLine(PlainView.java:92)
at javax.swing.text.PlainView.paint(PlainView.java:311)
at javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1434)
at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:737)
at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:881)
at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:860)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JViewport.paint(JViewport.java:728)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
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$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
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)
FifoDocument.getText *****NEGATIVE NUMBER ERROR*****
<edit>: Also nicely allows Keyboard text select !!!
Quick lps.ino edit to test longer lines looks okay with if ( !(count%5) ) Serial.println();:
Code:
count=19110926, lines/sec=231460count=19110927, lines/sec=231460count=19110928, lines/sec=231460count=19110929, lines/sec=231460count=19110930, lines/sec=231460
count=19110931, lines/sec=231460count=19110932, lines/sec=231460count=19110933, lines/sec=231460count=19110934, lines/sec=231460count=19110935, lines/sec=231460
count=19110936, lines/sec=231460count=19110937, lines/sec=231460count=19110938, lines/sec=231460count=19110939, lines/sec=231460count=19110940, lines/sec=231460
count=19110941, lines/sec=231460count=19110942, lines/sec=231460count=19110943, lines/sec=231460count=19110944, lines/sec=231460count=19110945, lines/sec=231460
and if ( !(count%10) ) Serial.println();:
Code:
count=21227361, lines/sec=231633count=21227362, lines/sec=231633count=21227363, lines/sec=231633count=21227364, lines/sec=231633count=21227365, lines/sec=231633count=21227366, lines/sec=231633count=21227367, lines/sec=231633count=21227368, lines/sec=231633count=21227369, lines/sec=231633count=21227370, lines/sec=231633
count=21227371, lines/sec=231633count=21227372, lines/sec=231633count=21227373, lines/sec=231633count=21227374, lines/sec=231633count=21227375, lines/sec=231633count=21227376, lines/sec=231633count=21227377, lines/sec=231633count=21227378, lines/sec=231633count=21227379, lines/sec=231633count=21227380, lines/sec=231633
count=21227381, lines/sec=231633count=21227382, lines/sec=231633count=21227383, lines/sec=231633count=21227384, lines/sec=231633count=21227385, lines/sec=231633count=21227386, lines/sec=231633count=21227387, lines/sec=231633count=2