Commit graph

64 commits

Author SHA1 Message Date
Henner Zeller
97247b7698 o Update documentation. 2016-08-25 09:46:18 -07:00
Henner Zeller
4ade855471 o for parsing flags and creating matrix from options, don't make
parameters optional.
2016-08-23 20:20:59 -07:00
Henner Zeller
ddf446d952 o Separate out flag parsing and creation of matrix into separate
functions to call.
2016-08-23 19:41:00 -07:00
Henner Zeller
810c54f849 o Allow hardware pin pulsing select also to be set programmatically
and via flag.
2016-08-21 20:01:51 -07:00
Henner Zeller
85e707116f o Allow to choose the lsb pwm nanoseconds on the command line. 2016-08-21 17:02:54 -07:00
Henner Zeller
6d26807d88 o Making dropping privileges the default.
o Make it possible to select scan mode programmatically.
2016-08-21 16:24:29 -07:00
Henner Zeller
d5286000ce o add the concept of RuntimeOptions. This contins the daemon, drop-privs
and gpio slowdown values.
o Add gpio slowdown to the values that can be modified programmatically
  and with flags.
o Have the default flags passed into CreateMatrixFromFlags() also be
  an output value, so that the settings read from the flags can be
  used back in the user program.
2016-08-21 15:58:23 -07:00
Henner Zeller
b664571c3d o Allow to set a default options for the CreateMatrixFromFlags().
o Allow to set show-refresh-rate, inverse-colors and green-blue
  swap programmatically. That way, nobody has to re-compile just for
  these options, which makes things more easy to distribute as library.
  also: Make these flags.
2016-08-21 12:54:45 -07:00
Henner Zeller
51db6ce6d0 o Better documentation and more flexibility with daemon option. 2016-08-21 10:57:48 -07:00
Henner Zeller
7557c40e17 o Add some common runtim options (--led-daemon, --led-drop-privs)
o Add more options for matrix parameters (--led-brightness, --led-pwm-bits)
2016-08-20 19:26:20 -07:00
Henner Zeller
edce0acadb o Initial parsing of matrix command line options. 2016-08-20 17:25:06 -07:00
Henner Zeller
eb0a10b0f0 o Provide an RGBMatrix::Options struct as input for all parameters.
Preparation to have other parameter tweaks move from #defines to
  runtime options.
2016-08-20 11:10:32 -07:00
Henner Zeller
5543956e8a o SwapOnVSync(): make it possible to choose a fraction of the refresh-rate
as animation timing for applications that want to lock the update
  to the refresh rate.
  Usually, the refresh rate in the several hundred Hz range is not
  as useful for that.

  Adds a feature that emerged in a discussion in issue #184.
2016-07-26 20:55:40 -07:00
Henner Zeller
dc67b42aa4 o Minimize dark-time for longer display chains (addresses
issue #180).
o Expose the LSB pwm time as a settable #define
o Update documentation for various #defines in lib/Makefile
2016-07-23 16:37:04 -07:00
Henner Zeller
409d7bd3ce o Add a C-API (experimental right now, don't use yet)
o Provide a shared library
2016-05-05 08:29:51 -07:00
Henner Zeller
a559db250b o Allow to separate setting GPIO initialization from thread starting
(but keep same defaults).
2016-02-14 11:12:55 +00:00
Henner Zeller
90283819e5 o minor style issues. 2015-12-01 22:33:15 -08:00
Ian Foster
d7fd1fb561 o Added support for background colors on DrawText and DrawGlyph
o Make the versions with the background the default functions, keep
  the old versions merely for compatibility.
2015-12-01 22:30:55 -08:00
Yaroslav Halchenko
2f5ce9c6ea DOC: no LargeSquare64x64Canvas anymore -- dealing with LargeSquare64x64Transformer 2015-11-12 16:03:48 -05:00
Henner Zeller
b754be39d3 o Make it a parameter of Thread::Start() to choose an affinity mask. 2015-10-12 02:17:14 +00:00
Henner Zeller
08023d418a o Bind display refresh to one CPU core to avoid flicker-inducing kernel
jumpiness.
2015-10-12 00:33:36 +00:00
Henner Zeller
6890187140 o Make sure that no copy-constructor is used for Font. 2015-09-29 23:59:25 -07:00
Henner Zeller
6d2383c6b6 o Make ThreadedCanvasManipulator restartable (fixes #60) 2015-09-13 16:26:31 -07:00
Henner Zeller
246becad2e o Add a way to slow down even more. 2015-09-13 14:08:22 -07:00
Henner Zeller
cf252fbf4a o Proper brightness clipping and documentation added. 2015-08-15 11:55:07 +02:00
Henner Zeller
cc49ab7418 o Some stylistic changes. 2015-07-27 18:11:11 -07:00
Saij
7a0da0e136 o Add new transformers to provide logical Canvases that are transformed
before writing to another physical Canvas.
   - RotateTransformer: rotates by multiple of 90 degrees
   - LargeSquare64x64Transformer: does the 64x64 conversion from
     earlier examples
   - LinkedTransformer allows to have a sequence of transformers
     applied.
o Provide a flag in demo-main to influence rotation.
2015-07-23 23:42:21 -07:00
Henner Zeller
bbfdecc6a1 Merge branch 'experimental-pwm-bit' 2015-07-19 17:18:45 -07:00
Henner Zeller
be8c4e6e55 o Make gpio-bit writing more inline-able. 2015-07-19 12:47:03 -07:00
Henner Zeller
83b8bf4bc2 o Add CanvasTransformer interface as common base for objects
that want to provide canvas manipulations.
2015-07-09 00:13:53 -07:00
Henner Zeller
8ad4a616b8 Merge branch 'master' into experimental-pwm-bit 2015-07-06 20:18:30 -07:00
Saij
f5e779ae05 Remove -j parameter (doesn't exist anymore)
Implemented SetBrightness function
Rewritten SetBrightness function (only first idea at the moment)
Use CIE1931 to modify brightness
Adding new function to python bindings
Fixed bug with CIE1931 lookup
- Adding brightness control to python library
- Adding new python sample for brightness control
Fixed bug without CIE1931 correction
Fixed typings
2015-07-06 09:28:12 +02:00
Henner Zeller
5e591b27b6 o Send pulses asynchronously and wait later.
o document deficiencies for fixing.
2015-06-14 08:37:30 +00:00
Henner Zeller
20beaa1510 o Some comment clarifications. 2015-06-13 20:51:32 +00:00
Henner Zeller
273b294d5f o Move the concept of a pin-pulser to a class, so that we can create
different implementations.
2015-05-31 23:47:28 +00:00
Henner Zeller
ef4151c2a5 o small code style fixes. 2015-04-06 21:42:13 -07:00
root
6474b43217 Added DrawCircle and DrawLine
api updated for color
2015-04-06 22:29:35 +02:00
Henner Zeller
cde792d762 o Make slowdown of GPIO switchable. Make it default off, because the
old Raspberry Pis should typically do fine (but their performance hurts
  a lot if this is switched on).
o Exposes the setting experimentally added in issue #16 in the Makefile.
o Update README describing what to do in these cases and how to switch
  it on.
2015-03-04 23:08:43 -08:00
Henner Zeller
d398dffdc8 o Add Double and Multi-buffering and atomic swap on VSync. 2015-03-04 21:55:52 -08:00
Henner Zeller
083cf4ba70 Merge branch 'parallel-rows' 2015-02-28 23:20:10 -08:00
Henner Zeller
5c168a2170 o Use additional GPIO pins on Plus models and Raspberry Pi 2 to
drive a second parallel chain. 100% more panels for 0% more CPU :)
2015-02-28 23:17:52 -08:00
Henner Zeller
2787d6590a o Slow down GPIO at the source; just write to the registers twice. 2015-02-27 06:40:38 +00:00
Henner Zeller
1be1de42bd o More details in comment. 2015-02-23 10:31:56 -08:00
Henner Zeller
42bbfaec67 o Use 1Mhz counter to inch towards the time we need. 2015-02-22 23:53:51 -08:00
Henner Zeller
72cbd18b58 o Various timer implementation depending on RPi 1 or 2.
o Also some CPU wasting implementation with busyloop.
2015-02-22 22:31:19 -08:00
Henner Zeller
a9f4770c9d o fix typo. 2015-02-22 01:06:20 -08:00
Henner Zeller
83ab240671 o Update documentation. 2014-09-23 19:40:45 -07:00
Henner Zeller
5ce8056334 o Extract framebuffer code to be independent of RGBMatrix.
Preparation to support double buffering.
2014-09-12 20:53:04 -07:00
Henner Zeller
b746313b0e o Add license headers where needed. 2014-09-11 20:03:56 -07:00
Henner Zeller
50f26ac18a o Don't deal with pwm layers we don't serve when setting pixels to
safe CPU.
2014-09-11 18:52:34 -07:00