public
Description: A EDA toolkit for programmically creating hardware with Python.
Homepage: http://petertodd.org
Clone URL: git://github.com/retep/tuke.git
retep (author)
Tue Apr 29 16:45:15 -0700 2008
commit  eff9fb3758ee009a719026f15a02b29fdfbec382
tree    7c8418db3b3c0f3ec9bf22331df8890b53ff0711
parent  e7db43560323d35f8530cf9f8168ff18fd863195
tuke / README
100644 57 lines (38 sloc) 1.854 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
=============
 README: Tuke
=============
 
:Author: Peter Todd
:Contact: 'peter'[:-1]@petertodd.org
:Web site: http://petertodd.org
 
.. contents::
 
Purpose
=======
 
Tuke is a Python library that aims to make it easy to write programs that
generate schematics and assocated pcb layout. A simple example is a large LED
grid. With Tuke, instead of manually creating the (large) schematic and then
manually laying out the grid, you would write Python code that defined the
components, netlist, and finally physical position of the footprints and traces
on the board. This can be done once, so that if any aspect of the design
changes, it's a simple matter of rerunning the program rather than manually
changing a 16x32 led grid to a 24x48 grid.
 
Project Files & Directories
===========================
 
* README: You're reading it.
 
* COPYING: GPL-3 license that Tuke is placed under.
 
* HACKING: Some notes on hacking the code.
 
* doc: Very rough documentation currently.
 
  - doc/experiments: Various coding experiments.
 
* examples: Various Tuke using examples:
 
  - led_grid: Create a x*y led grid. Kept up to date with the latest
    implemented features and as a way to help guide the design.
 
* Tuke: Source code for the Tuke module.
 
The Name
========
 
The following Python expression was used to choose the name of Tuke:
 
lambda n,i: [reduce(lambda a,b: a + b,[random.sample(map(lambda x: chr(ord('a') + x),range(26)),1)[0] for c in range(n)]) for t in range(i)]
 
Where n=4, i=1000
 
Followed by checking Google, apt-get and Freshmeat for conflicts. I highly
suggest this procedure, although, for smaller projects increasing n may be
appropriate. Small phrases obtained from the Google search may prove to be more
memorable as well, such as my solenoid controller board, 'Post-Napoleonic
Europe' and it's associated Python class, 'QuadrupleAlliance'