DirectSPI test program

Dependencies:   DirectSPI mbed

Committer:
mimi3
Date:
Sun Feb 26 20:50:58 2017 +0900
Revision:
9:7dfa4f5adf42
Parent:
8:e11a0361f57f
update: mbed-scli v0.5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mimi3 7:84a0a208ebb2 1 #### lib.py for mbed ####
mimi3 9:7dfa4f5adf42 2 # v0.5
mimi3 6:14e5c27ebe3c 3 # 2017/02 made by dinau
mimi3 7:84a0a208ebb2 4 #
mimi3 7:84a0a208ebb2 5 # Notice: Unsupported libraries.
mimi3 7:84a0a208ebb2 6 # These libraries must be specified in Makefile.
mimi3 7:84a0a208ebb2 7 # mbed-os
mimi3 7:84a0a208ebb2 8 # mbed-dev
mimi3 6:14e5c27ebe3c 9
mimi3 6:14e5c27ebe3c 10
mimi3 6:14e5c27ebe3c 11 # Usage:
mimi3 7:84a0a208ebb2 12 # $ make lib
mimi3 7:84a0a208ebb2 13 # or
mimi3 8:e11a0361f57f 14 # $ python makelib.py
mimi3 6:14e5c27ebe3c 15 #
mimi3 6:14e5c27ebe3c 16 import os,sys
mimi3 6:14e5c27ebe3c 17 import commands
mimi3 9:7dfa4f5adf42 18 from urlparse import urlparse
mimi3 9:7dfa4f5adf42 19 HG = 1
mimi3 9:7dfa4f5adf42 20 GIT = 2
mimi3 9:7dfa4f5adf42 21 MBEDOS = 3
mimi3 9:7dfa4f5adf42 22 CMD_HG_CLONE = 'hg clone -q '
mimi3 9:7dfa4f5adf42 23 CMD_GIT_CLONE = 'git clone -q '
mimi3 9:7dfa4f5adf42 24 CMD_GIT_CHECKOUT= 'git checkout -q '
mimi3 6:14e5c27ebe3c 25
mimi3 9:7dfa4f5adf42 26 def hgClone(param):
mimi3 9:7dfa4f5adf42 27 cmd = CMD_HG_CLONE + param
mimi3 9:7dfa4f5adf42 28 return os.system( cmd )
mimi3 9:7dfa4f5adf42 29
mimi3 9:7dfa4f5adf42 30 def gitClone(param):
mimi3 9:7dfa4f5adf42 31 cmd = CMD_GIT_CLONE + param
mimi3 9:7dfa4f5adf42 32 return os.system( cmd )
mimi3 9:7dfa4f5adf42 33
mimi3 9:7dfa4f5adf42 34 def gitCheckout(param):
mimi3 9:7dfa4f5adf42 35 cmd = CMD_GIT_CHECKOUT + param
mimi3 9:7dfa4f5adf42 36 return os.system( cmd )
mimi3 9:7dfa4f5adf42 37
mimi3 9:7dfa4f5adf42 38 def getDvcs(url):
mimi3 9:7dfa4f5adf42 39 if ('developer.mbed.org' in url) or ('mbed.org' in url) or ('bitbucke.org' in url):
mimi3 9:7dfa4f5adf42 40 return HG;
mimi3 9:7dfa4f5adf42 41 elif 'mbed-os' in url:
mimi3 9:7dfa4f5adf42 42 return MBEDOS
mimi3 9:7dfa4f5adf42 43 elif 'github.com' in url:
mimi3 9:7dfa4f5adf42 44 return GIT
mimi3 9:7dfa4f5adf42 45 else:
mimi3 9:7dfa4f5adf42 46 return 0
mimi3 9:7dfa4f5adf42 47
mimi3 9:7dfa4f5adf42 48 def getLibs(target_dir):
mimi3 9:7dfa4f5adf42 49 savedir = os.getcwd()
mimi3 9:7dfa4f5adf42 50 os.chdir(target_dir)
mimi3 6:14e5c27ebe3c 51 liblist=[]
mimi3 9:7dfa4f5adf42 52 for fname in os.listdir('.'):
mimi3 9:7dfa4f5adf42 53 if os.path.isfile(fname):
mimi3 9:7dfa4f5adf42 54 name, ext = os.path.splitext(fname)
mimi3 6:14e5c27ebe3c 55 if ext == '.lib':
mimi3 7:84a0a208ebb2 56 if name != 'mbed-os':
mimi3 9:7dfa4f5adf42 57 liblist.append(fname)
mimi3 6:14e5c27ebe3c 58 if len( liblist ) > 0:
mimi3 9:7dfa4f5adf42 59 #print liblist
mimi3 9:7dfa4f5adf42 60 for libfile in liblist:
mimi3 9:7dfa4f5adf42 61 subdir, ext = os.path.splitext(libfile)
mimi3 6:14e5c27ebe3c 62 print subdir
mimi3 9:7dfa4f5adf42 63 url = open(libfile).read()
mimi3 7:84a0a208ebb2 64 print url
mimi3 6:14e5c27ebe3c 65 sys.stdout.flush()
mimi3 9:7dfa4f5adf42 66 dvcs = getDvcs(url)
mimi3 9:7dfa4f5adf42 67 if dvcs == HG:
mimi3 9:7dfa4f5adf42 68 hgClone( url )
mimi3 9:7dfa4f5adf42 69 getLibs(subdir)
mimi3 9:7dfa4f5adf42 70 elif dvcs == MBEDOS:
mimi3 9:7dfa4f5adf42 71 # Nothing is downloaded if mbed-os lib be.
mimi3 9:7dfa4f5adf42 72 print 'mbed-os'
mimi3 9:7dfa4f5adf42 73 sys.stdout.flush()
mimi3 9:7dfa4f5adf42 74 elif dvcs == GIT:
mimi3 9:7dfa4f5adf42 75 params = url.split('#')
mimi3 9:7dfa4f5adf42 76 if len(params) == 1:
mimi3 9:7dfa4f5adf42 77 gitClone( params[0] )
mimi3 9:7dfa4f5adf42 78 getLibs(subdir)
mimi3 9:7dfa4f5adf42 79 elif len(params) == 2:
mimi3 9:7dfa4f5adf42 80 gitClone( params[0] )
mimi3 7:84a0a208ebb2 81 os.chdir(subdir)
mimi3 7:84a0a208ebb2 82 print 'cd %s' % (subdir)
mimi3 7:84a0a208ebb2 83 sys.stdout.flush()
mimi3 9:7dfa4f5adf42 84 gitCheckout( params[1] )
mimi3 9:7dfa4f5adf42 85 getLibs(subdir)
mimi3 9:7dfa4f5adf42 86 os.chdir(savedir)
mimi3 9:7dfa4f5adf42 87 ###################
mimi3 9:7dfa4f5adf42 88 # main prog
mimi3 9:7dfa4f5adf42 89 ###################
mimi3 9:7dfa4f5adf42 90 if len(sys.argv) >= 2:
mimi3 9:7dfa4f5adf42 91 url = sys.argv[1]
mimi3 9:7dfa4f5adf42 92 dvcs = getDvcs( url )
mimi3 9:7dfa4f5adf42 93 if dvcs == HG:
mimi3 9:7dfa4f5adf42 94 p = urlparse( url )
mimi3 9:7dfa4f5adf42 95 path = p.path
mimi3 9:7dfa4f5adf42 96 if path[-1:] == '/':
mimi3 9:7dfa4f5adf42 97 path = path[:-1]
mimi3 9:7dfa4f5adf42 98 libdir = os.path.basename(path)
mimi3 9:7dfa4f5adf42 99 hgClone( url )
mimi3 9:7dfa4f5adf42 100 getLibs(libdir)
mimi3 9:7dfa4f5adf42 101 elif dvcs == GIT:
mimi3 9:7dfa4f5adf42 102 params = url.split('#')
mimi3 9:7dfa4f5adf42 103 if len(params) == 1:
mimi3 9:7dfa4f5adf42 104 gitClone( params[0] )
mimi3 9:7dfa4f5adf42 105 elif len(params) == 2:
mimi3 9:7dfa4f5adf42 106 gitClone( params[0] )
mimi3 9:7dfa4f5adf42 107 os.chdir(subdir)
mimi3 9:7dfa4f5adf42 108 print 'cd %s' % (subdir)
mimi3 9:7dfa4f5adf42 109 sys.stdout.flush()
mimi3 9:7dfa4f5adf42 110 gitCheckout( params[1] )
mimi3 9:7dfa4f5adf42 111 else:
mimi3 9:7dfa4f5adf42 112 print '--- Getting libraries ----'
mimi3 9:7dfa4f5adf42 113 getLibs('.')
mimi3 9:7dfa4f5adf42 114 print '--- end ---'