Added map files for remapping tensor ip addresses and pixels

without recompiling.  Add ability to draw directly on the
previews. Upgraded to version 7.0 because drv-tensor.h interface
changed.
master
argyle77 2014-12-02 16:58:33 -05:00
parent 49f01a6ff1
commit af52bdebe7
15 changed files with 767 additions and 176 deletions

View File

@ -7,8 +7,8 @@ project(tensorPattern)
# Let's set a version number.
# This file must be manually changed to effect version change.
set (VERSION_MAJOR 6)
set (VERSION_MINOR 1)
set (VERSION_MAJOR 7)
set (VERSION_MINOR 0)
set (VERSION_PATCH 0)
set (VERSION_PRERELEASE)
@ -38,8 +38,6 @@ file(COPY fonts/DroidSansMono.ttf DESTINATION ${PROJECT_BINARY_DIR})
file(RENAME ${PROJECT_BINARY_DIR}/DroidSansMono.ttf ${PROJECT_BINARY_DIR}/font.ttf)
# Aux files
file(GLOB IMAGES images/*)
file(COPY ${IMAGES} DESTINATION ${PROJECT_BINARY_DIR})
file(GLOB PRELOAD preload/*.now)
file(COPY ${PRELOAD} DESTINATION ${PROJECT_BINARY_DIR})
file(GLOB MEDIA media/*)
file(COPY ${MEDIA} DESTINATION ${PROJECT_BINARY_DIR})

View File

@ -1,17 +1,25 @@
Tensor pattern generation - Version 6.1.0
Tensor pattern generation - Version 7.0.0
"Frostbyte was an enigineer."
This pattern generator outputs UDP to the tensor wall. A preview
window shows the pattern and interface using SDL2.
This pattern generator sends UDP packets to the tensor wall. A preview window
shows the pattern to be sent and the interface for altering the pattern using
SDL2.
Controls are listed next to the previews. Modes and parameters
can be adjusted with the mouse and mouse wheel. Unmodified keys,
backspace, and esc alter the text buffer. Pattern sets can be saved
and loaded from disk. Saved patterns 0-9 are loaded automatically
at startup. Images can be loaded by placing them in the build
directory and editing the ImageName value in the *.now save files.
Patterns can be edited live or in the alternate preview.
Controls are listed next to the previews. Modes and parameters can be adjusted
with the mouse and mouse wheel. Unmodified keys, backspace, and esc alter the
text buffer. Clicking directly on the preview draws with the foreground color.
There are 10 pattern sets in memory at all times which can be chose between by
pressing <ctrl> 0-9. Pattern sets can be saved and loaded from disk. Saved
pattern sets 0-9 are automatically loaded at startup. Images can be loaded by
placing the image file in the build directory, editing the ImageName value in
one of the *.now save files, and then loading that pattern into memory using
<ctrl> <shift> 0-9 a-z. Pattern sets can be edited live or in the alternate
preview window. The control set corresponds to the highlighted preview.
If Tensor topology has changed, the IP addresses for the sections can be edited
in tensorIP.map, and if necessary, the pixels themselves can be remapped using
tensorPixel.map.
Required libraries:
libsdl2-dev (>=2.0.2)
@ -19,8 +27,9 @@ libsdl2-ttf-dev (>=2.0.0)
libsdl2-gfx-dev (>=1.0.0-2)
libsdl2-image-dev (>=2.0.0)
Hint, also perhaps build-essential, cmake, and git.
(Ubuntu and derivatives)
Hint, also perhaps build-essential, cmake, git, and maybe pkgconfig.
(Ubuntu and derivatives - specifically tested on Linux Mint 17, 32 and 64 bit
xfce editions)
Build instructions:
git clone https://github.com/argyle77/tensorPattern.git
@ -30,6 +39,7 @@ Build instructions:
cmake ..
make
The binary must be run from the build directory, or the font won't be found.
The binary must be run from the build directory, or the fonts, images, and save
files won't be found.
./tensorSDL

View File

@ -70,3 +70,8 @@ Version 6.0:
Version 6.1:
Added some seeds, added image recentering. Lots of tweaks.
Added some preload files.
Version 7.0:
Added draw on previews with mouse. Added pixel map and
ip address map files for remapping without recompiling.

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

Before

Width:  |  Height:  |  Size: 348 KiB

After

Width:  |  Height:  |  Size: 348 KiB

View File

@ -0,0 +1,31 @@
Tensor ip address map. To use this map, rename the file to tensorIP.map. Lines
beginning with anything other than a digit are considered a comment. 18 IP
addresses are expected. Each group of 6 corresponds to a panel. The file
tensorIP.map.default shows the defaults used if no alternate map is found. Any
characters other than a digit, comma, or space, will cause the rest of the
line to be ignored. The order of the addresses matters. The section headings
below are non functional comments. Don't start a comment line with a digit.
Panel 1
10.5.1.15
10.5.1.9
10.5.1.19
10.5.1.20
10.5.1.6
10.5.1.7
Panel 2
10.5.1.23
10.5.1.17
10.5.1.18
10.5.1.22
10.5.1.16
10.5.1.13
Panel 3
10.5.1.25
10.5.1.1
10.5.1.21
10.5.1.24
10.5.1.14
10.5.1.3

View File

@ -0,0 +1,30 @@
Tensor pixel remapping file. To use this file, rename it to tensorPixel.map.
Everything after the first non-numeric, non comma, non space character in a
line is ignored as a comment. There must be exactly as many pairs of
coordinates as pixels in tensor (540). More coordinates than this are
ignored. Each coordinate pair must be unique. A pixel from the preview will
end up on tensor at the positions listed in this file. The coordinate order
here corresponds to the preview read from left to right and then top to bottom.
The file tensorPixel.map.default shows the same mapping that would occur as if
a pixel map were not supplied.
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 0, 10 0, 11 0, 12 0, 13 0, 14 0, 15 0, 16 0, 17 0, 18 0, 19 0, 20 0, 21 0, 22 0, 23 0, 24 0, 25 0, 26 0,
0 1, 1 1, 2 1, 3 1, 4 1, 5 1, 6 1, 7 1, 8 1, 9 1, 10 1, 11 1, 12 1, 13 1, 14 1, 15 1, 16 1, 17 1, 18 1, 19 1, 20 1, 21 1, 22 1, 23 1, 24 1, 25 1, 26 1,
0 2, 1 2, 2 2, 3 2, 4 2, 5 2, 6 2, 7 2, 8 2, 9 2, 10 2, 11 2, 12 2, 13 2, 14 2, 15 2, 16 2, 17 2, 18 2, 19 2, 20 2, 21 2, 22 2, 23 2, 24 2, 25 2, 26 2,
0 3, 1 3, 2 3, 3 3, 4 3, 5 3, 6 3, 7 3, 8 3, 9 3, 10 3, 11 3, 12 3, 13 3, 14 3, 15 3, 16 3, 17 3, 18 3, 19 3, 20 3, 21 3, 22 3, 23 3, 24 3, 25 3, 26 3,
0 4, 1 4, 2 4, 3 4, 4 4, 5 4, 6 4, 7 4, 8 4, 9 4, 10 4, 11 4, 12 4, 13 4, 14 4, 15 4, 16 4, 17 4, 18 4, 19 4, 20 4, 21 4, 22 4, 23 4, 24 4, 25 4, 26 4,
0 5, 1 5, 2 5, 3 5, 4 5, 5 5, 6 5, 7 5, 8 5, 9 5, 10 5, 11 5, 12 5, 13 5, 14 5, 15 5, 16 5, 17 5, 18 5, 19 5, 20 5, 21 5, 22 5, 23 5, 24 5, 25 5, 26 5,
0 6, 1 6, 2 6, 3 6, 4 6, 5 6, 6 6, 7 6, 8 6, 9 6, 10 6, 11 6, 12 6, 13 6, 14 6, 15 6, 16 6, 17 6, 18 6, 19 6, 20 6, 21 6, 22 6, 23 6, 24 6, 25 6, 26 6,
0 7, 1 7, 2 7, 3 7, 4 7, 5 7, 6 7, 7 7, 8 7, 9 7, 10 7, 11 7, 12 7, 13 7, 14 7, 15 7, 16 7, 17 7, 18 7, 19 7, 20 7, 21 7, 22 7, 23 7, 24 7, 25 7, 26 7,
0 8, 1 8, 2 8, 3 8, 4 8, 5 8, 6 8, 7 8, 8 8, 9 8, 10 8, 11 8, 12 8, 13 8, 14 8, 15 8, 16 8, 17 8, 18 8, 19 8, 20 8, 21 8, 22 8, 23 8, 24 8, 25 8, 26 8,
0 9, 1 9, 2 9, 3 9, 4 9, 5 9, 6 9, 7 9, 8 9, 9 9, 10 9, 11 9, 12 9, 13 9, 14 9, 15 9, 16 9, 17 9, 18 9, 19 9, 20 9, 21 9, 22 9, 23 9, 24 9, 25 9, 26 9,
0 10, 1 10, 2 10, 3 10, 4 10, 5 10, 6 10, 7 10, 8 10, 9 10, 10 10, 11 10, 12 10, 13 10, 14 10, 15 10, 16 10, 17 10, 18 10, 19 10, 20 10, 21 10, 22 10, 23 10, 24 10, 25 10, 26 10,
0 11, 1 11, 2 11, 3 11, 4 11, 5 11, 6 11, 7 11, 8 11, 9 11, 10 11, 11 11, 12 11, 13 11, 14 11, 15 11, 16 11, 17 11, 18 11, 19 11, 20 11, 21 11, 22 11, 23 11, 24 11, 25 11, 26 11,
0 12, 1 12, 2 12, 3 12, 4 12, 5 12, 6 12, 7 12, 8 12, 9 12, 10 12, 11 12, 12 12, 13 12, 14 12, 15 12, 16 12, 17 12, 18 12, 19 12, 20 12, 21 12, 22 12, 23 12, 24 12, 25 12, 26 12,
0 13, 1 13, 2 13, 3 13, 4 13, 5 13, 6 13, 7 13, 8 13, 9 13, 10 13, 11 13, 12 13, 13 13, 14 13, 15 13, 16 13, 17 13, 18 13, 19 13, 20 13, 21 13, 22 13, 23 13, 24 13, 25 13, 26 13,
0 14, 1 14, 2 14, 3 14, 4 14, 5 14, 6 14, 7 14, 8 14, 9 14, 10 14, 11 14, 12 14, 13 14, 14 14, 15 14, 16 14, 17 14, 18 14, 19 14, 20 14, 21 14, 22 14, 23 14, 24 14, 25 14, 26 14,
0 15, 1 15, 2 15, 3 15, 4 15, 5 15, 6 15, 7 15, 8 15, 9 15, 10 15, 11 15, 12 15, 13 15, 14 15, 15 15, 16 15, 17 15, 18 15, 19 15, 20 15, 21 15, 22 15, 23 15, 24 15, 25 15, 26 15,
0 16, 1 16, 2 16, 3 16, 4 16, 5 16, 6 16, 7 16, 8 16, 9 16, 10 16, 11 16, 12 16, 13 16, 14 16, 15 16, 16 16, 17 16, 18 16, 19 16, 20 16, 21 16, 22 16, 23 16, 24 16, 25 16, 26 16,
0 17, 1 17, 2 17, 3 17, 4 17, 5 17, 6 17, 7 17, 8 17, 9 17, 10 17, 11 17, 12 17, 13 17, 14 17, 15 17, 16 17, 17 17, 18 17, 19 17, 20 17, 21 17, 22 17, 23 17, 24 17, 25 17, 26 17,
0 18, 1 18, 2 18, 3 18, 4 18, 5 18, 6 18, 7 18, 8 18, 9 18, 10 18, 11 18, 12 18, 13 18, 14 18, 15 18, 16 18, 17 18, 18 18, 19 18, 20 18, 21 18, 22 18, 23 18, 24 18, 25 18, 26 18,
0 19, 1 19, 2 19, 3 19, 4 19, 5 19, 6 19, 7 19, 8 19, 9 19, 10 19, 11 19, 12 19, 13 19, 14 19, 15 19, 16 19, 17 19, 18 19, 19 19, 20 19, 21 19, 22 19, 23 19, 24 19, 25 19, 26 19

View File

@ -25,35 +25,21 @@
#include "drv-tensor.h"
const char *Tensor_IPs_1_old[]={
"10.5.1.15","10.5.1.9","10.5.1.19",
"10.5.1.23","10.5.1.17","10.5.1.18",
"10.5.1.25","10.5.1.1","10.5.1.21"};
const char *Tensor_IPs_2_old[]={
"10.5.1.20","10.5.1.6","10.5.1.7",
"10.5.1.22","10.5.1.16","10.5.1.13",
"10.5.1.24","10.5.1.14","10.5.1.3"};
const char *Tensor_Section1[] = {
const char *Tensor_Section1_def[] = {
"10.5.1.15","10.5.1.9","10.5.1.19",
"10.5.1.20","10.5.1.6","10.5.1.7"
};
const char *Tensor_Section2[] = {
const char *Tensor_Section2_def[] = {
"10.5.1.23","10.5.1.17","10.5.1.18",
"10.5.1.22","10.5.1.16","10.5.1.13"
};
const char *Tensor_Section3[] = {
const char *Tensor_Section3_def[] = {
"10.5.1.25","10.5.1.1","10.5.1.21",
"10.5.1.24","10.5.1.14","10.5.1.3"
};
const char *Tensor_Section_Crap[] = {
"10.1.1.25","10.1.1.1","10.1.1.21",
"10.1.1.24","10.1.1.14","10.1.1.3"
};
const char *Tensor_IPs_1[9];
const char *Tensor_IPs_2[9];
@ -64,7 +50,7 @@ int tensor_sock;
/*--------------------------------------------------------------------------*/
static int tensor_init_ips()
static int tensor_init_ips(const char **Tensor_Section1, const char **Tensor_Section2, const char **Tensor_Section3)
{
int i;
@ -102,11 +88,11 @@ static int tensor_init_ips()
return(0);
}
int tensor_init(void) {
int tensor_init(const char **Tensor_Section1, const char **Tensor_Section2, const char **Tensor_Section3) {
int i;
tensor_init_ips();
tensor_init_ips(Tensor_Section1, Tensor_Section2, Tensor_Section3);
if ((tensor_sock=socket(PF_INET,SOCK_DGRAM,0))==-1) {
return -1;

View File

@ -8,9 +8,14 @@
#define TENSOR_BYTES (TENSOR_WIDTH*TENSOR_HEIGHT*3)
int tensor_init(void);
int tensor_init(const char **Tensor_Section1, const char **Tensor_Section2, const char **Tensor_Section3);
void tensor_send(unsigned char *fb);
extern int tensor_landscape_p;
extern const char *Tensor_Section1_def[];
extern const char *Tensor_Section2_def[];
extern const char *Tensor_Section3_def[];
#endif

File diff suppressed because it is too large Load Diff