Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heat demo #3

Open
wants to merge 29 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
1728ece
Start of working on the conversion of the heat demo to Python
dkfellows Aug 21, 2017
f118ff5
empty files that will be filled out
dkfellows Aug 21, 2017
15bb150
Much of conversion of sdp and menu done
dkfellows Aug 21, 2017
1d51b34
A chunk more conversion
dkfellows Aug 22, 2017
dcb7870
A chunk more conversion
dkfellows Aug 23, 2017
0a081eb
Updates for the new configuration system, including converted configs
dkfellows Aug 23, 2017
dfcbe43
Merge branch 'master' into heat-demo
dkfellows Aug 23, 2017
139333b
Flake8
dkfellows Aug 23, 2017
1773e1b
Improved the README
dkfellows Aug 23, 2017
bd18fb2
Fixed to at least load up (and not crash on mouse click)
rowleya Aug 25, 2017
936a352
Merge branch 'master' into heat-demo
dkfellows Apr 17, 2018
74e66dd
Update for Python 3
dkfellows Apr 17, 2018
0615d2e
Merge branch 'master' into heat-demo
dkfellows Jul 17, 2019
2cab8ce
Merge branch 'master' into heat-demo
dkfellows Mar 24, 2021
d02e480
Starting to clean things up
dkfellows Mar 24, 2021
06157dd
flake8
dkfellows Mar 24, 2021
fd631a0
Gradually beating things into shape
dkfellows Mar 24, 2021
0ebd1d7
rat
dkfellows Mar 24, 2021
11b6765
Reducing use of globals
dkfellows Mar 24, 2021
6a7d547
Gradually mashing things into shape, with fewer files an more coherence
dkfellows Mar 26, 2021
8d522a3
Squeezing things further
dkfellows Mar 26, 2021
fab487c
Fix a few errors
dkfellows Mar 26, 2021
e3ae5c6
Tidying up where fields are set up and what they're called
dkfellows Mar 29, 2021
52762ca
Blagh
dkfellows Mar 29, 2021
77fcb29
Use the new key event registration decorators
dkfellows Mar 29, 2021
0797059
Merge branch 'master' into heat-demo
dkfellows May 16, 2022
ceb02b8
Rearranging the binding to the OGL stuff
dkfellows May 17, 2022
d929f92
Merge branch 'master' into heat-demo
dkfellows Jul 18, 2022
7f5d3a9
Merge branch 'master' into heat-demo
dkfellows Oct 14, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ Visualisers for Particular sPyNNaker Networks and Other SpiNNaker Applications

1. Sudoku solver
2. Raytracer viewer
3. Heat flow

Install these into your virtualenv. You'll need to make sure that you have support for OpenGL and GLUT (possibly freeGLUT) on your platform; these are C libraries that are out of scope for giving instructions on how to build from Python.
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,11 @@

# Scripts
entry_points={
"gui_scripts": [
"console_scripts": [
"spynnaker_raytrace = spynnaker_visualisers.raytrace.drawer:main",
"spynnaker_sudoku = "
"spynnaker_visualisers.sudoku.sudoku_visualiser:main",
"spinnaker_heatmap = spynnaker_visualisers.heat.visualiser:main",
],
},
maintainer="SpiNNakerTeam",
Expand Down
14 changes: 14 additions & 0 deletions spynnaker_visualisers/heat/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2017-2021 The University of Manchester
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
70 changes: 70 additions & 0 deletions spynnaker_visualisers/heat/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright (c) 2017-2021 The University of Manchester
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

from enum import IntEnum

MAXDATA = 65535.0
MINDATA = -65535.0
NOTDEFINED = -66666.0

XDIMENSIONS = 32
YDIMENSIONS = 32
EACHCHIPX = 4
EACHCHIPY = 4
XCHIPS = XDIMENSIONS // EACHCHIPX
YCHIPS = YDIMENSIONS // EACHCHIPY

TIMEWINDOW = 3.5
HISTORYSIZE = 3500

HIWATER = 10.0
LOWATER = 0.0
ALTERSTEPSIZE = 1.0

WINBORDER = 110
WINHEIGHT = 700
WINWIDTH = 850
KEYWIDTH = 50

CONTROLBOXES = 3
BOXSIZE = 40
GAP = 5

MAXFRAMERATE = 25
SDPPORT = 17894
FIXEDPOINT = 16

MAXBLOCKSIZE = 364
SPINN_HELLO = 0x41
P2P_SPINN_PACKET = 0x3A
STIM_IN_SPINN_PACKET = 0x49
MTU = 1515


class UIColours(IntEnum):
BLACK = 0
WHITE = 1
RED = 2
GREEN = 3
CYAN = 4
GREY = 5


class Direction(IntEnum):
EAST = 1
SOUTH = 3
CENTRE = 4
NORTH = 5
WEST = 7
Loading