annotate Documentations/setGPLHeader.py @ 306:2f43419102c8 cleanup-4

bugfix, cleanup: do not clip depth to 0 A real dive with the previous commits shows that testing from the simulator cannot be fully trusted in relation to logic that is close to the depth sensor (that is obviously bypassed using the simulator). So 1) there is 3 second interval between the stopwatch and the divetime, and 2) the depth flips from 1m depth to surface 0m depth, and that is visible in the profile data. Point 2) is definitely caused by the removed code in this commit. It likely is not right to clip the depth value at all. It is fine to base decisions like is done in is_ambient_pressure_close_to_surface on it, but clipping the depth value itself is seems wrong. This has become more prominent with commit eba8d1eb5bef where the clipping depth changed from 40cm of depth to 1m of depth. When comparing profiles from an OSTC Plus, it shows that no depth clipping is present there, so that is one more argument to remove it here. Point 1) The 3 sec interval is likely not a coincidence. It is the time to travel for 1m depth with a default descend speed of 20m/min. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Wed, 22 May 2019 14:39:04 +0200
parents 6237372f76a4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
1 #! /usr/bin/env python3
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
2
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
3 from __future__ import print_function
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
4 import os, sys, glob,re, codecs
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
5
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
6 ##############################################################################
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
7
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
8 OSTC4=os.getcwd()
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
9 if not os.path.exists( os.path.join(OSTC4, 'Discovery') ):
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
10 raise 'Wrong start directory...'
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
11
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
12 ##############################################################################
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
13
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
14 def walk(OSTC4):
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
15 for dir in ['BootLoader', 'Common', 'Discovery', 'FontPack', 'Small_CPU']:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
16 # Make sure we have the top directory...
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
17 if not os.path.exists( os.path.join(OSTC4, dir) ):
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
18 raise 'Missing ' + dir
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
19
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
20 # Then walk in all its existing source sub-directories...
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
21 for sub in ['.', 'Inc', 'Src']:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
22 path = os.path.join(OSTC4, dir, sub)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
23 if not os.path.exists(path):
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
24 continue
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
25 print(path + ':')
35
6237372f76a4 ... more GPL License and general cleanups
jDG@sauge
parents: 29
diff changeset
26 for file in sorted( glob.iglob( os.path.join(path, '*.[chs]') ) ):
29
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
27 try:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
28 work(file)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
29 except Exception as e:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
30 raise RuntimeError('Cannot process ' + file + ':\n\t' + str(e))
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
31
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
32 ##############################################################################
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
33
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
34 with open(os.path.join(OSTC4, 'Documentations', 'GPL_template.txt')) as f:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
35 template = f.read()
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
36
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
37 def work(file):
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
38
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
39 # Unclear what is done if encoding is not yet UTF-8...
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
40 with open(file, 'rt', encoding='cp1252') as f:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
41 lines = f.read().splitlines()
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
42
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
43 # Set defaults
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
44 kw = {}
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
45 kw['file'] = file.replace(OSTC4+'/', '')
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
46 kw['brief'] = ''
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
47 kw['date'] = '2018'
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
48
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
49 # Try to gather info from existing header, if any:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
50 for line in lines:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
51 # Skip files that already have a GNU license:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
52 if 'GNU General Public License' in line:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
53 print('(done)\t' + file)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
54 return
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
55
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
56 get(line, 'brief', kw)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
57 get(line, 'date', kw)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
58
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
59 # Replace kw in header
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
60 header = template
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
61 for k,v in kw.items():
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
62 header = header.replace('$'+k, v)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
63
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
64 # Overwrite resulting file, normalizing EOL
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
65 with open(file, 'wt', encoding='utf-8') as f:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
66 for line in header.splitlines():
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
67 f.write(line.rstrip() + '\n')
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
68 for line in lines:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
69 f.write(line.rstrip() + '\n')
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
70 print('+\t' + file)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
71
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
72 ##############################################################################
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
73
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
74 def get(line, word, kw):
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
75 m = re.search('(@|\\\\)' + word + '\s*(.*)', line)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
76 if m:
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
77 kw[word] = m.group(2)
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
78
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
79 ##############################################################################
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
80
3a98f9e7ca58 ADD script to set GPL headers
jDG
parents:
diff changeset
81 walk(OSTC4)