From c89a9dcb1a2251f4daa85c4b10d6328241916dd3 Mon Sep 17 00:00:00 2001 From: Matthias Neeracher Date: Tue, 2 Dec 2014 13:57:18 +0100 Subject: [PATCH] Primitive versions of board, programmer, and port popups --- AVRsack.xcodeproj/project.pbxproj | 4 + AVRsack/ASProjDoc.swift | 13 +++ AVRsack/ASSerial.swift | 22 +++++ AVRsack/Base.lproj/ASProjDoc.xib | 92 ++++++++++++++++-- .../CleanIcon.imageset/CleanIcon 1x.png | Bin 2019 -> 2517 bytes .../CleanIcon.imageset/CleanIcon 2x.png | Bin 6003 -> 7429 bytes .../CleanIcon.imageset/CleanIcon 3x.png | Bin 11252 -> 14237 bytes 7 files changed, 122 insertions(+), 9 deletions(-) create mode 100644 AVRsack/ASSerial.swift diff --git a/AVRsack.xcodeproj/project.pbxproj b/AVRsack.xcodeproj/project.pbxproj index d8f8a9a..7f16e7d 100644 --- a/AVRsack.xcodeproj/project.pbxproj +++ b/AVRsack.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ 9501D80C1A17025C0034C530 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9501D80A1A17025C0034C530 /* MainMenu.xib */; }; 9501D8181A17025C0034C530 /* AVRsackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9501D8171A17025C0034C530 /* AVRsackTests.swift */; }; 950AB9271A296A160033A9DA /* ProjIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 950AB9261A296A160033A9DA /* ProjIcon.icns */; }; + 950AB9291A2D4F9B0033A9DA /* ASSerial.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950AB9281A2D4F9B0033A9DA /* ASSerial.swift */; }; 951CD1741A23C9FC0066C1A1 /* ASBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 951CD1731A23C9FC0066C1A1 /* ASBuilder.swift */; }; 951CD1771A2615000066C1A1 /* BuildProject in Resources */ = {isa = PBXBuildFile; fileRef = 951CD1761A2615000066C1A1 /* BuildProject */; }; 95468DDF1A228BE600668EE2 /* ASHardware.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95468DDE1A228BE600668EE2 /* ASHardware.swift */; }; @@ -73,6 +74,7 @@ 9501D8161A17025C0034C530 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 9501D8171A17025C0034C530 /* AVRsackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AVRsackTests.swift; sourceTree = ""; }; 950AB9261A296A160033A9DA /* ProjIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = ProjIcon.icns; path = IconResources/ProjIcon.icns; sourceTree = ""; }; + 950AB9281A2D4F9B0033A9DA /* ASSerial.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ASSerial.swift; sourceTree = ""; }; 951CD1731A23C9FC0066C1A1 /* ASBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ASBuilder.swift; sourceTree = ""; }; 951CD1761A2615000066C1A1 /* BuildProject */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; fileEncoding = 4; path = BuildProject; sourceTree = ""; }; 95468DDE1A228BE600668EE2 /* ASHardware.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ASHardware.swift; sourceTree = ""; }; @@ -167,6 +169,7 @@ 9501D8031A17025C0034C530 /* ASProjDoc.swift */, 95BF80EA1A185C9E0004A693 /* ASFileTree.swift */, 95468DDE1A228BE600668EE2 /* ASHardware.swift */, + 950AB9281A2D4F9B0033A9DA /* ASSerial.swift */, 951CD1731A23C9FC0066C1A1 /* ASBuilder.swift */, 951CD1761A2615000066C1A1 /* BuildProject */, ); @@ -341,6 +344,7 @@ 9501D8041A17025C0034C530 /* ASProjDoc.swift in Sources */, 95468DDF1A228BE600668EE2 /* ASHardware.swift in Sources */, 951CD1741A23C9FC0066C1A1 /* ASBuilder.swift in Sources */, + 950AB9291A2D4F9B0033A9DA /* ASSerial.swift in Sources */, 9501D8021A17025C0034C530 /* ASApplication.swift in Sources */, 95BF80EB1A185C9E0004A693 /* ASFileTree.swift in Sources */, ); diff --git a/AVRsack/ASProjDoc.swift b/AVRsack/ASProjDoc.swift index 20452de..192c2bd 100644 --- a/AVRsack/ASProjDoc.swift +++ b/AVRsack/ASProjDoc.swift @@ -292,5 +292,18 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate { builder.cleanProject() selectNode(files.buildLog) } + + func serialPorts() -> [String] { + return ASSerial.ports() + } + + func boards() -> [String] { + return [String](ASHardware.instance().boards.keys) + } + + func programmers() -> [String] { + return [String](ASHardware.instance().programmers.keys) + } + } diff --git a/AVRsack/ASSerial.swift b/AVRsack/ASSerial.swift new file mode 100644 index 0000000..392ebdc --- /dev/null +++ b/AVRsack/ASSerial.swift @@ -0,0 +1,22 @@ +// +// ASSerial.swift +// AVRsack +// +// Created by Matthias Neeracher on 12/2/14. +// Copyright © 2014 Aere Perennius. All rights reserved. +// + +import Foundation + +class ASSerial { + class func ports() -> [String] { + let devices = NSFileManager.defaultManager().contentsOfDirectoryAtPath("/dev", error: nil)! + var cuDevs = [String]() + for dev in devices as [String] { + if dev.substringToIndex(dev.startIndex.successor().successor()) == "cu" { + cuDevs.append("/dev/"+dev) + } + } + return cuDevs + } +} \ No newline at end of file diff --git a/AVRsack/Base.lproj/ASProjDoc.xib b/AVRsack/Base.lproj/ASProjDoc.xib index e1f4ba7..0b1d452 100644 --- a/AVRsack/Base.lproj/ASProjDoc.xib +++ b/AVRsack/Base.lproj/ASProjDoc.xib @@ -95,23 +95,92 @@ - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -120,6 +189,10 @@ + + + + @@ -128,6 +201,7 @@ + diff --git a/AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 1x.png b/AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 1x.png index 123d4aa2355d47ab18baffaea18c3493c407ff67..ba56f5b78a01869afb734538a93fdd52a548117c 100644 GIT binary patch delta 2495 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 be$W2}#cm-kg=!zL00000NkvXXu0mjfY$mZ` diff --git a/AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 2x.png b/AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 2x.png index 7f8270a211108e7e1d4d6a7869e159dffa82a083..e5cbebc1c5df17b4ce1d378312462947206638ea 100644 GIT binary patch delta 7424 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�SW3ztOjx*J$W5Tf{*k<(bYi&f5JX|MbQ#h|8;si)-wCH21K-2;^iH@tZ+{dm zbl!i4RL$Yb7Tn3?3vsqgKRy%UVecU1M|Ip#@e4;T8+n}Vn=@>(RpXaGuwTMPZ_Mr9 z@c_=D-ok|cwzo|Odl4FG1h#nfH1}V`*9BSfP4GQ74(=T`W6#2 z^%{ZzOv_g;?DpWmXn1G}z2_mkXgP|C8^dafZ|GQItx99LZJAge20616E`P=H(rfDh zB&vlIx6V~uhQt%y=ce&vGpdXca)->@#eMyI-2Q!A@KyU^d=POCJz@qsRyNg8WI2^i zBF;+i5B>mOZ+;T1p%E0Eg{Ko5j)k*07w}Ka?3la{JMa^Dzx*1G5pb({@E)}A9gv4C zozH~ulf^ZNzTOd>_wRPOt{teryniRng@X+&BLmAWJcjZM>3XOmT=KD8vjQj}#|fta z1{=3{;D%pIx40@wcFN_V{~`weJPMYN?}vl-gT(@e7NtDU^DWngR?EK?QNd@bE7%y> zL$Qzpp8}j%!uoxW+l9(Kd*K{D0vU3aU+A@h2aH0 z#w_OF2E_?2P8rcG{bn>P+pGW;oHZn;QINQJ!j(Dk6<3C&Z|THEXA4`#xlp07f)?BQ zu&&jb<$CIP%|;{O5*C%fSs5<0>8nr`%(kUcH@>RB$E~dX7%M3ZMOEBrUgYjvjtxs{ z?kU1q6R)C&9>~-fWY0q3;ww(5$MTZ+k`ruJ010xCjMzAF8I1YTjiJ@Cwy4j*LaR## zO8AwYbd;`*TioihV%Q6Md$(XxeE^4ZFZc<%gc}n2`x4fkaM}ASiuGMmF+RP^(1sfMVrv0?>wjMyI+Kku?kS-n}TQ4DXl7=nnT6tzLj!Py^M}-t! z(CVu-i6$9AE=#-kS`qg*{o3C+RraYXJJx};A(*IRsrsE8a>$7P?cxEssVd7Y{|utmRu=1tE;nQ^sUhamtEDoIyO&g$GXiFPEj7 zT;&K#Se$WdBgPfC(Bf8~bj#}$H!_zw1bqPo`3f^d1|2G+D!45uWkjc(9BFl|ykwxmvin>Kl2#ndikZ7F?QDKVegr0J108{a6dbQ%r!3+w@3LreJ_zDl2z z5kfgmiQ9NgyO})s46-5UiTDxU$`F@b%O{;dyd>NUG=8kE#U(?U9@(-`xO4?AU9{Lv zOjn%cN6);7_}4P{=k=C8{NWF8!+QLPx+{${NTCy+#21ZFxHp#YlO$txh^w+JU8XFJ zxE|#<=1Z>=KS^FR3yH56kL|0~OOJaW`1+|&e)5z5qu6*jJ4P`>h&ukat5{1+6O|K_20lpI4Ce&#cud0Kh%Ly#g*KmGJiFcjf0%Vd5=2?ajYOFWvQM9QWbVzuLBK+n>pfVA~KR;*(E4*}J;B`nOR02rEGjlXE4vUR*kq z6>cFjY~!+Nd@B zZ4YfjkXT>;`q#@J`p}2I0i)a>+-;59ge7mGXP$YceE9I;r}2pn-+mm1 zF@JPTo=uQ(g*bDhi)Lj+i=pI2--yn7vavnM5(<}$(z0>MN!CK)w!&qDjz?I9U9O{`BXK`Tq#(uE6(&$wvJ7bjb^`V+wa2ovr%WU~|8Pz6x=i(mZWIE+6I!=FG! zjI$y%&dDKylou|z9*qUCa#ohO4U&s>}NlF!`keGZ@2jvbpst^XP_^m!z_ zRT*Q3;?NiqJvrtxE?vnn9?MZ#w3sjbI9(v0000