Rev 2006 | Rev 2137 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 2006 | Rev 2127 | ||
|---|---|---|---|
| Line 38... | Line 38... | ||
| 38 | if line.find(moduleName + "_ID") != -1: |
38 | if line.find(moduleName + "_ID") != -1: |
| 39 | parts = line.split("=") |
39 | parts = line.split("=") |
| 40 | if parts[1].strip(" ") != -1 and parts[1].strip(" ") != "<ID>": |
40 | if parts[1].strip(" ") != -1 and parts[1].strip(" ") != "<ID>": |
| 41 | takenIds.append(int(parts[1].strip(" "), 16)) |
41 | takenIds.append(int(parts[1].strip(" "), 16)) |
| 42 | print "Found id: "+parts[1].strip(" ")+" in file: "+fileName+" for module: "+moduleName |
42 | print "Found id: "+parts[1].strip(" ")+" in file: "+fileName+" for module: "+moduleName |
| - | 43 | ||
| 43 | return takenIds |
44 | return takenIds |
| 44 | 45 | ||
| 45 | 46 | ||
| 46 | def getModuleIdsFromFile(moduleName): |
47 | def getModuleIdsFromFile(moduleName): |
| 47 | takenIds = [] |
48 | takenIds = [] |
| 48 | for applicationName in os.listdir("../"): |
49 | for applicationName in os.listdir("../"): |
| 49 | if applicationName[0] != '.' and os.path.exists("../" + applicationName + "/config.inc"): |
50 | if applicationName[0] != '.' and os.path.exists("../" + applicationName + "/config.inc"): |
| 50 | takenIds = parseModuleIdFromFile(moduleName, "../" + applicationName + "/config.inc") |
51 | takenIds += parseModuleIdFromFile(moduleName, "../" + applicationName + "/config.inc") |
| 51 | - | ||
| 52 | return takenIds |
52 | return takenIds |
| 53 | 53 | ||
| 54 | def parseAllModuleIdFromFile(fileName, foundModules): |
54 | def parseAllModuleIdFromFile(fileName, foundModules): |
| 55 | index = 0 |
55 | index = 0 |
| 56 | modules = getModules() |
56 | modules = getModules() |
| Line 98... | Line 98... | ||
| 98 | 98 | ||
| 99 | def getFreeModuleId(takenIds): |
99 | def getFreeModuleId(takenIds): |
| 100 | if len(takenIds) == 0: |
100 | if len(takenIds) == 0: |
| 101 | return 1 |
101 | return 1 |
| 102 | takenIds.sort() |
102 | takenIds.sort() |
| 103 | - | ||
| 104 | lastId = 0 |
103 | lastId = 0 |
| 105 | 104 | ||
| 106 | for takenId in takenIds: |
105 | for takenId in takenIds: |
| 107 | if takenId != lastId+1: |
106 | if ((takenId != lastId+1) & (takenId != lastId)): |
| 108 | return lastId+1 |
107 | return lastId+1 |
| 109 | lastId = takenId |
108 | lastId = takenId |
| 110 | 109 | ||
| 111 | return lastId+1 |
110 | return lastId+1 |
| 112 | - | ||
| 113 | 111 | ||
| 114 | 112 | ||
| 115 | def compileMainFile(): |
113 | def compileMainFile(): |
| 116 | print "Compiling new main.c..." |
114 | print "Compiling new main.c..." |
| 117 | main_c_template = open('src/main.c.template', 'r') |
115 | main_c_template = open('src/main.c.template', 'r') |
| Line 206... | Line 204... | ||
| 206 | for line in moduleSection: |
204 | for line in moduleSection: |
| 207 | if len(line) > 0: |
205 | if len(line) > 0: |
| 208 | if line[0] != '#': |
206 | if line[0] != '#': |
| 209 | if line.find("<ID>") != -1: |
207 | if line.find("<ID>") != -1: |
| 210 | new_ID = getFreeModuleId(moduleIds) |
208 | new_ID = getFreeModuleId(moduleIds) |
| 211 | print " |
209 | print "\nNew module id set to: "+hex(new_ID)+"\n" |
| 212 | moduleIds.append(new_ID) |
210 | moduleIds.append(new_ID) |
| 213 | line = line.replace("<ID>", hex(new_ID)) |
211 | line = line.replace("<ID>", hex(new_ID)) |
| 214 | elif line.find("<TIMER>") != -1: |
212 | elif line.find("<TIMER>") != -1: |
| 215 | line = line[:line.find("=")+1] + hex(timers) + " /* <TIMER> -- DO NOT REMOVE THIS COMMENT -- */" |
213 | line = line[:line.find("=")+1] + hex(timers) + " /* <TIMER> -- DO NOT REMOVE THIS COMMENT -- */" |
| 216 | timers += 1 |
214 | timers += 1 |