mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Compare commits
76 Commits
v5.1.0
...
kivikakk/g
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
adfb438a42 | ||
|
|
0ed1b821d7 | ||
|
|
1a769c4665 | ||
|
|
e7e64bf39a | ||
|
|
e4b9430024 | ||
|
|
a76805e40d | ||
|
|
8d27845f8c | ||
|
|
9a8ab45b6f | ||
|
|
e335d48625 | ||
|
|
4f46155c05 | ||
|
|
38901d51d2 | ||
|
|
ded0dc74e0 | ||
|
|
c5d1bb5370 | ||
|
|
c8ca48856b | ||
|
|
7be6fb0138 | ||
|
|
8c516655bc | ||
|
|
9dceffce2f | ||
|
|
33be70eb28 | ||
|
|
9c4dc3047c | ||
|
|
d8e5f3c965 | ||
|
|
71bf640a47 | ||
|
|
c9b3d19c6f | ||
|
|
0f4955e5d5 | ||
|
|
d968b0e9ee | ||
|
|
1f5ed3b3fe | ||
|
|
297be948d1 | ||
|
|
b4492e7205 | ||
|
|
c05bc99004 | ||
|
|
99eaf5faf9 | ||
|
|
21babbceb1 | ||
|
|
15885701cd | ||
|
|
9b942086f7 | ||
|
|
93cd47822f | ||
|
|
ea3e79a631 | ||
|
|
0af9a35ff1 | ||
|
|
44048c9ba8 | ||
|
|
e51b5ec9b7 | ||
|
|
a47008ea00 | ||
|
|
a0b38e8207 | ||
|
|
10dfe9f296 | ||
|
|
0b9c05f989 | ||
|
|
95dca67e2b | ||
|
|
e98728595b | ||
|
|
4cd558c374 | ||
|
|
adf6206ef5 | ||
|
|
c2d558b71d | ||
|
|
78c58f956e | ||
|
|
fc1404985a | ||
|
|
5d48ccd757 | ||
|
|
3530a18e46 | ||
|
|
ae8f4f9228 | ||
|
|
7c34d38786 | ||
|
|
38bc5fd336 | ||
|
|
6b06e47c67 | ||
|
|
061712ff78 | ||
|
|
7707585d5e | ||
|
|
fa7d433886 | ||
|
|
998e24cf36 | ||
|
|
63ff51e2ed | ||
|
|
b541b53b78 | ||
|
|
a878620a8e | ||
|
|
5633fd3668 | ||
|
|
9d0af0da40 | ||
|
|
edabdc75a5 | ||
|
|
6db7736860 | ||
|
|
dd3d8586c5 | ||
|
|
f1daf6192c | ||
|
|
2c41df376f | ||
|
|
3391dcce6a | ||
|
|
f75c5707a6 | ||
|
|
25de4e0ae2 | ||
|
|
7451424f12 | ||
|
|
b94e018c3a | ||
|
|
4dcf223c8e | ||
|
|
329f80d245 | ||
|
|
085604948e |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -8,3 +8,6 @@ lib/linguist/samples.json
|
||||
/node_modules
|
||||
test/fixtures/ace_modes.json
|
||||
/vendor/gems/
|
||||
/tmp
|
||||
*.bundle
|
||||
*.so
|
||||
|
||||
64
.gitmodules
vendored
64
.gitmodules
vendored
@@ -169,9 +169,6 @@
|
||||
[submodule "vendor/grammars/Agda.tmbundle"]
|
||||
path = vendor/grammars/Agda.tmbundle
|
||||
url = https://github.com/mokus0/Agda.tmbundle
|
||||
[submodule "vendor/grammars/Julia.tmbundle"]
|
||||
path = vendor/grammars/Julia.tmbundle
|
||||
url = https://github.com/JuliaEditorSupport/Julia.tmbundle
|
||||
[submodule "vendor/grammars/ooc.tmbundle"]
|
||||
path = vendor/grammars/ooc.tmbundle
|
||||
url = https://github.com/nilium/ooc.tmbundle
|
||||
@@ -400,10 +397,6 @@
|
||||
[submodule "vendor/grammars/sublime_cobol"]
|
||||
path = vendor/grammars/sublime_cobol
|
||||
url = https://bitbucket.org/bitlang/sublime_cobol
|
||||
[submodule "vendor/grammars/ruby.tmbundle"]
|
||||
path = vendor/grammars/ruby.tmbundle
|
||||
url = https://github.com/aroben/ruby.tmbundle
|
||||
branch = pl
|
||||
[submodule "vendor/grammars/IDL-Syntax"]
|
||||
path = vendor/grammars/IDL-Syntax
|
||||
url = https://github.com/andik/IDL-Syntax
|
||||
@@ -446,9 +439,6 @@
|
||||
[submodule "vendor/grammars/sublime-golo"]
|
||||
path = vendor/grammars/sublime-golo
|
||||
url = https://github.com/TypeUnsafe/sublime-golo
|
||||
[submodule "vendor/grammars/JSyntax"]
|
||||
path = vendor/grammars/JSyntax
|
||||
url = https://github.com/bcj/JSyntax
|
||||
[submodule "vendor/grammars/TXL"]
|
||||
path = vendor/grammars/TXL
|
||||
url = https://github.com/MikeHoffert/Sublime-Text-TXL-syntax
|
||||
@@ -569,9 +559,6 @@
|
||||
[submodule "vendor/grammars/sublime-aspectj"]
|
||||
path = vendor/grammars/sublime-aspectj
|
||||
url = https://github.com/pchaigno/sublime-aspectj
|
||||
[submodule "vendor/grammars/sublime-typescript"]
|
||||
path = vendor/grammars/sublime-typescript
|
||||
url = https://github.com/Microsoft/TypeScript-Sublime-Plugin
|
||||
[submodule "vendor/grammars/sublime-pony"]
|
||||
path = vendor/grammars/sublime-pony
|
||||
url = https://github.com/CausalityLtd/sublime-pony
|
||||
@@ -794,9 +781,6 @@
|
||||
[submodule "vendor/grammars/atom-language-perl6"]
|
||||
path = vendor/grammars/atom-language-perl6
|
||||
url = https://github.com/perl6/atom-language-perl6
|
||||
[submodule "vendor/grammars/reason"]
|
||||
path = vendor/grammars/reason
|
||||
url = https://github.com/chenglou/sublime-reason
|
||||
[submodule "vendor/grammars/language-xcompose"]
|
||||
path = vendor/grammars/language-xcompose
|
||||
url = https://github.com/samcv/language-xcompose
|
||||
@@ -863,3 +847,51 @@
|
||||
[submodule "vendor/grammars/language-pan"]
|
||||
path = vendor/grammars/language-pan
|
||||
url = https://github.com/quattor/language-pan
|
||||
[submodule "vendor/grammars/language-pcb"]
|
||||
path = vendor/grammars/language-pcb
|
||||
url = https://github.com/Alhadis/language-pcb
|
||||
[submodule "vendor/grammars/language-reason"]
|
||||
path = vendor/grammars/language-reason
|
||||
url = https://github.com/reasonml-editor/language-reason
|
||||
[submodule "vendor/grammars/sublime-nearley"]
|
||||
path = vendor/grammars/sublime-nearley
|
||||
url = https://github.com/Hardmath123/sublime-nearley
|
||||
[submodule "vendor/grammars/data-weave-tmLanguage"]
|
||||
path = vendor/grammars/data-weave-tmLanguage
|
||||
url = https://github.com/mulesoft-labs/data-weave-tmLanguage
|
||||
[submodule "vendor/grammars/squirrel-language"]
|
||||
path = vendor/grammars/squirrel-language
|
||||
url = https://github.com/mathewmariani/squirrel-language
|
||||
[submodule "vendor/grammars/language-ballerina"]
|
||||
path = vendor/grammars/language-ballerina
|
||||
url = https://github.com/ballerinalang/plugin-vscode
|
||||
[submodule "vendor/grammars/language-yara"]
|
||||
path = vendor/grammars/language-yara
|
||||
url = https://github.com/blacktop/language-yara
|
||||
[submodule "vendor/grammars/language-ruby"]
|
||||
path = vendor/grammars/language-ruby
|
||||
url = https://github.com/atom/language-ruby
|
||||
[submodule "vendor/grammars/sublime-angelscript"]
|
||||
path = vendor/grammars/sublime-angelscript
|
||||
url = https://github.com/wronex/sublime-angelscript
|
||||
[submodule "vendor/grammars/TypeScript-TmLanguage"]
|
||||
path = vendor/grammars/TypeScript-TmLanguage
|
||||
url = https://github.com/Microsoft/TypeScript-TmLanguage
|
||||
[submodule "vendor/grammars/wdl-sublime-syntax-highlighter"]
|
||||
path = vendor/grammars/wdl-sublime-syntax-highlighter
|
||||
url = https://github.com/broadinstitute/wdl-sublime-syntax-highlighter
|
||||
[submodule "vendor/grammars/atom-language-julia"]
|
||||
path = vendor/grammars/atom-language-julia
|
||||
url = https://github.com/JuliaEditorSupport/atom-language-julia
|
||||
[submodule "vendor/grammars/language-cwl"]
|
||||
path = vendor/grammars/language-cwl
|
||||
url = https://github.com/manabuishii/language-cwl
|
||||
[submodule "vendor/grammars/Syntax-highlighting-for-PostCSS"]
|
||||
path = vendor/grammars/Syntax-highlighting-for-PostCSS
|
||||
url = https://github.com/hudochenkov/Syntax-highlighting-for-PostCSS
|
||||
[submodule "vendor/grammars/javadoc.tmbundle"]
|
||||
path = vendor/grammars/javadoc.tmbundle
|
||||
url = https://github.com/textmate/javadoc.tmbundle
|
||||
[submodule "vendor/grammars/JSyntax"]
|
||||
path = vendor/grammars/JSyntax
|
||||
url = https://github.com/tikkanz/JSyntax
|
||||
|
||||
@@ -19,10 +19,6 @@ rvm:
|
||||
- 2.3.3
|
||||
- 2.4.0
|
||||
|
||||
matrix:
|
||||
allow_failures:
|
||||
- rvm: 2.4.0
|
||||
|
||||
notifications:
|
||||
disabled: true
|
||||
|
||||
@@ -31,3 +27,6 @@ git:
|
||||
depth: 3
|
||||
|
||||
cache: bundler
|
||||
dist: precise
|
||||
|
||||
bundler_args: --without debug
|
||||
|
||||
@@ -17,7 +17,7 @@ To add support for a new extension:
|
||||
In addition, if this extension is already listed in [`languages.yml`][languages] then sometimes a few more steps will need to be taken:
|
||||
|
||||
1. Make sure that example `.yourextension` files are present in the [samples directory][samples] for each language that uses `.yourextension`.
|
||||
1. Test the performance of the Bayesian classifier with a relatively large number (1000s) of sample `.yourextension` files. (ping **@bkeepers** to help with this) to ensure we're not misclassifying files.
|
||||
1. Test the performance of the Bayesian classifier with a relatively large number (1000s) of sample `.yourextension` files. (ping **@lildude** to help with this) to ensure we're not misclassifying files.
|
||||
1. If the Bayesian classifier does a bad job with the sample `.yourextension` files then a [heuristic](https://github.com/github/linguist/blob/master/lib/linguist/heuristics.rb) may need to be written to help.
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ To add support for a new language:
|
||||
In addition, if your new language defines an extension that's already listed in [`languages.yml`][languages] (such as `.foo`) then sometimes a few more steps will need to be taken:
|
||||
|
||||
1. Make sure that example `.foo` files are present in the [samples directory][samples] for each language that uses `.foo`.
|
||||
1. Test the performance of the Bayesian classifier with a relatively large number (1000s) of sample `.foo` files. (ping **@bkeepers** to help with this) to ensure we're not misclassifying files.
|
||||
1. Test the performance of the Bayesian classifier with a relatively large number (1000s) of sample `.foo` files. (ping **@lildude** to help with this) to ensure we're not misclassifying files.
|
||||
1. If the Bayesian classifier does a bad job with the sample `.foo` files then a [heuristic](https://github.com/github/linguist/blob/master/lib/linguist/heuristics.rb) may need to be written to help.
|
||||
|
||||
Remember, the goal here is to try and avoid false positives!
|
||||
@@ -93,6 +93,7 @@ Linguist is maintained with :heart: by:
|
||||
- **@BenEddy** (GitHub staff)
|
||||
- **@Caged** (GitHub staff)
|
||||
- **@grantr** (GitHub staff)
|
||||
- **@kivikakk** (GitHub staff)
|
||||
- **@larsbrinkhoff**
|
||||
- **@lildude** (GitHub staff)
|
||||
- **@pchaigno**
|
||||
|
||||
5
Gemfile
5
Gemfile
@@ -1,3 +1,6 @@
|
||||
source 'https://rubygems.org'
|
||||
gemspec :name => "github-linguist"
|
||||
gem 'byebug' if RUBY_VERSION >= '2.0'
|
||||
|
||||
group :debug do
|
||||
gem 'byebug' if RUBY_VERSION >= '2.2'
|
||||
end
|
||||
|
||||
20
Rakefile
20
Rakefile
@@ -1,6 +1,7 @@
|
||||
require 'bundler/setup'
|
||||
require 'rake/clean'
|
||||
require 'rake/testtask'
|
||||
require 'rake/extensiontask'
|
||||
require 'yaml'
|
||||
require 'yajl'
|
||||
require 'open-uri'
|
||||
@@ -10,8 +11,14 @@ task :default => :test
|
||||
|
||||
Rake::TestTask.new
|
||||
|
||||
gem_spec = Gem::Specification.load('github-linguist.gemspec')
|
||||
|
||||
Rake::ExtensionTask.new('linguist', gem_spec) do |ext|
|
||||
ext.lib_dir = File.join('lib', 'linguist')
|
||||
end
|
||||
|
||||
# Extend test task to check for samples and fetch latest Ace modes
|
||||
task :test => [:check_samples, :fetch_ace_modes]
|
||||
task :test => [:compile, :check_samples, :fetch_ace_modes]
|
||||
|
||||
desc "Check that we have samples.json generated"
|
||||
task :check_samples do
|
||||
@@ -34,15 +41,22 @@ task :fetch_ace_modes do
|
||||
end
|
||||
end
|
||||
|
||||
task :samples do
|
||||
task :samples => :compile do
|
||||
require 'linguist/samples'
|
||||
json = Yajl.dump(Linguist::Samples.data, :pretty => true)
|
||||
File.write 'lib/linguist/samples.json', json
|
||||
end
|
||||
|
||||
task :flex do
|
||||
if `flex -V` !~ /^flex \d+\.\d+\.\d+/
|
||||
fail "flex not detected"
|
||||
end
|
||||
system "cd ext/linguist && flex tokenizer.l"
|
||||
end
|
||||
|
||||
task :build_gem => :samples do
|
||||
rm_rf "grammars"
|
||||
sh "script/convert-grammars"
|
||||
sh "script/grammar-compiler compile -o grammars || true"
|
||||
languages = YAML.load_file("lib/linguist/languages.yml")
|
||||
File.write("lib/linguist/languages.json", Yajl.dump(languages))
|
||||
`gem build github-linguist.gemspec`
|
||||
|
||||
@@ -117,9 +117,8 @@ def git_linguist(args)
|
||||
end
|
||||
|
||||
parser.parse!(args)
|
||||
|
||||
git_dir = `git rev-parse --git-dir`.strip
|
||||
raise "git-linguist must be run in a Git repository (#{Dir.pwd})" unless $?.success?
|
||||
raise "git-linguist must be run in a Git repository" unless $?.success?
|
||||
wrapper = GitLinguist.new(git_dir, commit, incremental)
|
||||
|
||||
case args.pop
|
||||
@@ -141,6 +140,10 @@ def git_linguist(args)
|
||||
$stderr.print(parser.help)
|
||||
exit 1
|
||||
end
|
||||
rescue Exception => e
|
||||
$stderr.puts e.message
|
||||
$stderr.puts e.backtrace
|
||||
exit 1
|
||||
end
|
||||
|
||||
git_linguist(ARGV)
|
||||
|
||||
3
ext/linguist/extconf.rb
Normal file
3
ext/linguist/extconf.rb
Normal file
@@ -0,0 +1,3 @@
|
||||
require 'mkmf'
|
||||
dir_config('linguist')
|
||||
create_makefile('linguist/linguist')
|
||||
2226
ext/linguist/lex.linguist_yy.c
Normal file
2226
ext/linguist/lex.linguist_yy.c
Normal file
File diff suppressed because it is too large
Load Diff
336
ext/linguist/lex.linguist_yy.h
Normal file
336
ext/linguist/lex.linguist_yy.h
Normal file
@@ -0,0 +1,336 @@
|
||||
#ifndef linguist_yyHEADER_H
|
||||
#define linguist_yyHEADER_H 1
|
||||
#define linguist_yyIN_HEADER 1
|
||||
|
||||
#line 6 "lex.linguist_yy.h"
|
||||
|
||||
#define YY_INT_ALIGNED short int
|
||||
|
||||
/* A lexical scanner generated by flex */
|
||||
|
||||
#define FLEX_SCANNER
|
||||
#define YY_FLEX_MAJOR_VERSION 2
|
||||
#define YY_FLEX_MINOR_VERSION 5
|
||||
#define YY_FLEX_SUBMINOR_VERSION 35
|
||||
#if YY_FLEX_SUBMINOR_VERSION > 0
|
||||
#define FLEX_BETA
|
||||
#endif
|
||||
|
||||
/* First, we deal with platform-specific or compiler-specific issues. */
|
||||
|
||||
/* begin standard C headers. */
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/* end standard C headers. */
|
||||
|
||||
/* flex integer type definitions */
|
||||
|
||||
#ifndef FLEXINT_H
|
||||
#define FLEXINT_H
|
||||
|
||||
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
|
||||
|
||||
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
|
||||
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
|
||||
* if you want the limit (max/min) macros for int types.
|
||||
*/
|
||||
#ifndef __STDC_LIMIT_MACROS
|
||||
#define __STDC_LIMIT_MACROS 1
|
||||
#endif
|
||||
|
||||
#include <inttypes.h>
|
||||
typedef int8_t flex_int8_t;
|
||||
typedef uint8_t flex_uint8_t;
|
||||
typedef int16_t flex_int16_t;
|
||||
typedef uint16_t flex_uint16_t;
|
||||
typedef int32_t flex_int32_t;
|
||||
typedef uint32_t flex_uint32_t;
|
||||
typedef uint64_t flex_uint64_t;
|
||||
#else
|
||||
typedef signed char flex_int8_t;
|
||||
typedef short int flex_int16_t;
|
||||
typedef int flex_int32_t;
|
||||
typedef unsigned char flex_uint8_t;
|
||||
typedef unsigned short int flex_uint16_t;
|
||||
typedef unsigned int flex_uint32_t;
|
||||
#endif /* ! C99 */
|
||||
|
||||
/* Limits of integral types. */
|
||||
#ifndef INT8_MIN
|
||||
#define INT8_MIN (-128)
|
||||
#endif
|
||||
#ifndef INT16_MIN
|
||||
#define INT16_MIN (-32767-1)
|
||||
#endif
|
||||
#ifndef INT32_MIN
|
||||
#define INT32_MIN (-2147483647-1)
|
||||
#endif
|
||||
#ifndef INT8_MAX
|
||||
#define INT8_MAX (127)
|
||||
#endif
|
||||
#ifndef INT16_MAX
|
||||
#define INT16_MAX (32767)
|
||||
#endif
|
||||
#ifndef INT32_MAX
|
||||
#define INT32_MAX (2147483647)
|
||||
#endif
|
||||
#ifndef UINT8_MAX
|
||||
#define UINT8_MAX (255U)
|
||||
#endif
|
||||
#ifndef UINT16_MAX
|
||||
#define UINT16_MAX (65535U)
|
||||
#endif
|
||||
#ifndef UINT32_MAX
|
||||
#define UINT32_MAX (4294967295U)
|
||||
#endif
|
||||
|
||||
#endif /* ! FLEXINT_H */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
/* The "const" storage-class-modifier is valid. */
|
||||
#define YY_USE_CONST
|
||||
|
||||
#else /* ! __cplusplus */
|
||||
|
||||
/* C99 requires __STDC__ to be defined as 1. */
|
||||
#if defined (__STDC__)
|
||||
|
||||
#define YY_USE_CONST
|
||||
|
||||
#endif /* defined (__STDC__) */
|
||||
#endif /* ! __cplusplus */
|
||||
|
||||
#ifdef YY_USE_CONST
|
||||
#define yyconst const
|
||||
#else
|
||||
#define yyconst
|
||||
#endif
|
||||
|
||||
/* An opaque pointer. */
|
||||
#ifndef YY_TYPEDEF_YY_SCANNER_T
|
||||
#define YY_TYPEDEF_YY_SCANNER_T
|
||||
typedef void* yyscan_t;
|
||||
#endif
|
||||
|
||||
/* For convenience, these vars (plus the bison vars far below)
|
||||
are macros in the reentrant scanner. */
|
||||
#define yyin yyg->yyin_r
|
||||
#define yyout yyg->yyout_r
|
||||
#define yyextra yyg->yyextra_r
|
||||
#define yyleng yyg->yyleng_r
|
||||
#define yytext yyg->yytext_r
|
||||
#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
|
||||
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
|
||||
#define yy_flex_debug yyg->yy_flex_debug_r
|
||||
|
||||
/* Size of default input buffer. */
|
||||
#ifndef YY_BUF_SIZE
|
||||
#define YY_BUF_SIZE 16384
|
||||
#endif
|
||||
|
||||
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
|
||||
#define YY_TYPEDEF_YY_BUFFER_STATE
|
||||
typedef struct yy_buffer_state *YY_BUFFER_STATE;
|
||||
#endif
|
||||
|
||||
#ifndef YY_TYPEDEF_YY_SIZE_T
|
||||
#define YY_TYPEDEF_YY_SIZE_T
|
||||
typedef size_t yy_size_t;
|
||||
#endif
|
||||
|
||||
#ifndef YY_STRUCT_YY_BUFFER_STATE
|
||||
#define YY_STRUCT_YY_BUFFER_STATE
|
||||
struct yy_buffer_state
|
||||
{
|
||||
FILE *yy_input_file;
|
||||
|
||||
char *yy_ch_buf; /* input buffer */
|
||||
char *yy_buf_pos; /* current position in input buffer */
|
||||
|
||||
/* Size of input buffer in bytes, not including room for EOB
|
||||
* characters.
|
||||
*/
|
||||
yy_size_t yy_buf_size;
|
||||
|
||||
/* Number of characters read into yy_ch_buf, not including EOB
|
||||
* characters.
|
||||
*/
|
||||
yy_size_t yy_n_chars;
|
||||
|
||||
/* Whether we "own" the buffer - i.e., we know we created it,
|
||||
* and can realloc() it to grow it, and should free() it to
|
||||
* delete it.
|
||||
*/
|
||||
int yy_is_our_buffer;
|
||||
|
||||
/* Whether this is an "interactive" input source; if so, and
|
||||
* if we're using stdio for input, then we want to use getc()
|
||||
* instead of fread(), to make sure we stop fetching input after
|
||||
* each newline.
|
||||
*/
|
||||
int yy_is_interactive;
|
||||
|
||||
/* Whether we're considered to be at the beginning of a line.
|
||||
* If so, '^' rules will be active on the next match, otherwise
|
||||
* not.
|
||||
*/
|
||||
int yy_at_bol;
|
||||
|
||||
int yy_bs_lineno; /**< The line count. */
|
||||
int yy_bs_column; /**< The column count. */
|
||||
|
||||
/* Whether to try to fill the input buffer when we reach the
|
||||
* end of it.
|
||||
*/
|
||||
int yy_fill_buffer;
|
||||
|
||||
int yy_buffer_status;
|
||||
|
||||
};
|
||||
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
|
||||
|
||||
void linguist_yyrestart (FILE *input_file ,yyscan_t yyscanner );
|
||||
void linguist_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
|
||||
YY_BUFFER_STATE linguist_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
|
||||
void linguist_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
|
||||
void linguist_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
|
||||
void linguist_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
|
||||
void linguist_yypop_buffer_state (yyscan_t yyscanner );
|
||||
|
||||
YY_BUFFER_STATE linguist_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
|
||||
YY_BUFFER_STATE linguist_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
|
||||
YY_BUFFER_STATE linguist_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
|
||||
|
||||
void *linguist_yyalloc (yy_size_t ,yyscan_t yyscanner );
|
||||
void *linguist_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
|
||||
void linguist_yyfree (void * ,yyscan_t yyscanner );
|
||||
|
||||
/* Begin user sect3 */
|
||||
|
||||
#define yytext_ptr yytext_r
|
||||
|
||||
#ifdef YY_HEADER_EXPORT_START_CONDITIONS
|
||||
#define INITIAL 0
|
||||
#define sgml 1
|
||||
#define c_comment 2
|
||||
#define xml_comment 3
|
||||
#define haskell_comment 4
|
||||
#define ocaml_comment 5
|
||||
#define python_dcomment 6
|
||||
#define python_scomment 7
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef YY_NO_UNISTD_H
|
||||
/* Special case for "unistd.h", since it is non-ANSI. We include it way
|
||||
* down here because we want the user's section 1 to have been scanned first.
|
||||
* The user has a chance to override it with an option.
|
||||
*/
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#define YY_EXTRA_TYPE struct tokenizer_extra *
|
||||
|
||||
int linguist_yylex_init (yyscan_t* scanner);
|
||||
|
||||
int linguist_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
|
||||
|
||||
/* Accessor methods to globals.
|
||||
These are made visible to non-reentrant scanners for convenience. */
|
||||
|
||||
int linguist_yylex_destroy (yyscan_t yyscanner );
|
||||
|
||||
int linguist_yyget_debug (yyscan_t yyscanner );
|
||||
|
||||
void linguist_yyset_debug (int debug_flag ,yyscan_t yyscanner );
|
||||
|
||||
YY_EXTRA_TYPE linguist_yyget_extra (yyscan_t yyscanner );
|
||||
|
||||
void linguist_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
|
||||
|
||||
FILE *linguist_yyget_in (yyscan_t yyscanner );
|
||||
|
||||
void linguist_yyset_in (FILE * in_str ,yyscan_t yyscanner );
|
||||
|
||||
FILE *linguist_yyget_out (yyscan_t yyscanner );
|
||||
|
||||
void linguist_yyset_out (FILE * out_str ,yyscan_t yyscanner );
|
||||
|
||||
yy_size_t linguist_yyget_leng (yyscan_t yyscanner );
|
||||
|
||||
char *linguist_yyget_text (yyscan_t yyscanner );
|
||||
|
||||
int linguist_yyget_lineno (yyscan_t yyscanner );
|
||||
|
||||
void linguist_yyset_lineno (int line_number ,yyscan_t yyscanner );
|
||||
|
||||
/* Macros after this point can all be overridden by user definitions in
|
||||
* section 1.
|
||||
*/
|
||||
|
||||
#ifndef YY_SKIP_YYWRAP
|
||||
#ifdef __cplusplus
|
||||
extern "C" int linguist_yywrap (yyscan_t yyscanner );
|
||||
#else
|
||||
extern int linguist_yywrap (yyscan_t yyscanner );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef yytext_ptr
|
||||
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
|
||||
#endif
|
||||
|
||||
#ifdef YY_NEED_STRLEN
|
||||
static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
|
||||
#endif
|
||||
|
||||
#ifndef YY_NO_INPUT
|
||||
|
||||
#endif
|
||||
|
||||
/* Amount of stuff to slurp up with each read. */
|
||||
#ifndef YY_READ_BUF_SIZE
|
||||
#define YY_READ_BUF_SIZE 8192
|
||||
#endif
|
||||
|
||||
/* Number of entries by which start-condition stack grows. */
|
||||
#ifndef YY_START_STACK_INCR
|
||||
#define YY_START_STACK_INCR 25
|
||||
#endif
|
||||
|
||||
/* Default declaration of generated scanner - a define so the user can
|
||||
* easily add parameters.
|
||||
*/
|
||||
#ifndef YY_DECL
|
||||
#define YY_DECL_IS_OURS 1
|
||||
|
||||
extern int linguist_yylex (yyscan_t yyscanner);
|
||||
|
||||
#define YY_DECL int linguist_yylex (yyscan_t yyscanner)
|
||||
#endif /* !YY_DECL */
|
||||
|
||||
/* yy_get_previous_state - get the state just before the EOB char was reached */
|
||||
|
||||
#undef YY_NEW_FILE
|
||||
#undef YY_FLUSH_BUFFER
|
||||
#undef yy_set_bol
|
||||
#undef yy_new_buffer
|
||||
#undef yy_set_interactive
|
||||
#undef YY_DO_BEFORE_ACTION
|
||||
|
||||
#ifdef YY_DECL_IS_OURS
|
||||
#undef YY_DECL_IS_OURS
|
||||
#undef YY_DECL
|
||||
#endif
|
||||
|
||||
#line 118 "tokenizer.l"
|
||||
|
||||
|
||||
#line 335 "lex.linguist_yy.h"
|
||||
#undef linguist_yyIN_HEADER
|
||||
#endif /* linguist_yyHEADER_H */
|
||||
75
ext/linguist/linguist.c
Normal file
75
ext/linguist/linguist.c
Normal file
@@ -0,0 +1,75 @@
|
||||
#include "ruby.h"
|
||||
#include "linguist.h"
|
||||
#include "lex.linguist_yy.h"
|
||||
|
||||
// Anything longer is unlikely to be useful.
|
||||
#define MAX_TOKEN_LEN 32
|
||||
|
||||
int linguist_yywrap(yyscan_t yyscanner) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static VALUE rb_tokenizer_extract_tokens(VALUE self, VALUE rb_data) {
|
||||
YY_BUFFER_STATE buf;
|
||||
yyscan_t scanner;
|
||||
struct tokenizer_extra extra;
|
||||
VALUE ary, s;
|
||||
long len;
|
||||
int r;
|
||||
|
||||
Check_Type(rb_data, T_STRING);
|
||||
|
||||
len = RSTRING_LEN(rb_data);
|
||||
if (len > 100000)
|
||||
len = 100000;
|
||||
|
||||
linguist_yylex_init_extra(&extra, &scanner);
|
||||
buf = linguist_yy_scan_bytes(RSTRING_PTR(rb_data), (int) len, scanner);
|
||||
|
||||
ary = rb_ary_new();
|
||||
do {
|
||||
extra.type = NO_ACTION;
|
||||
extra.token = NULL;
|
||||
r = linguist_yylex(scanner);
|
||||
switch (extra.type) {
|
||||
case NO_ACTION:
|
||||
break;
|
||||
case REGULAR_TOKEN:
|
||||
len = strlen(extra.token);
|
||||
if (len <= MAX_TOKEN_LEN)
|
||||
rb_ary_push(ary, rb_str_new(extra.token, len));
|
||||
free(extra.token);
|
||||
break;
|
||||
case SHEBANG_TOKEN:
|
||||
len = strlen(extra.token);
|
||||
if (len <= MAX_TOKEN_LEN) {
|
||||
s = rb_str_new2("SHEBANG#!");
|
||||
rb_str_cat(s, extra.token, len);
|
||||
rb_ary_push(ary, s);
|
||||
}
|
||||
free(extra.token);
|
||||
break;
|
||||
case SGML_TOKEN:
|
||||
len = strlen(extra.token);
|
||||
if (len <= MAX_TOKEN_LEN) {
|
||||
s = rb_str_new(extra.token, len);
|
||||
rb_str_cat2(s, ">");
|
||||
rb_ary_push(ary, s);
|
||||
}
|
||||
free(extra.token);
|
||||
break;
|
||||
}
|
||||
} while (r);
|
||||
|
||||
linguist_yy_delete_buffer(buf, scanner);
|
||||
linguist_yylex_destroy(scanner);
|
||||
|
||||
return ary;
|
||||
}
|
||||
|
||||
__attribute__((visibility("default"))) void Init_linguist() {
|
||||
VALUE rb_mLinguist = rb_define_module("Linguist");
|
||||
VALUE rb_cTokenizer = rb_define_class_under(rb_mLinguist, "Tokenizer", rb_cObject);
|
||||
|
||||
rb_define_method(rb_cTokenizer, "extract_tokens", rb_tokenizer_extract_tokens, 1);
|
||||
}
|
||||
11
ext/linguist/linguist.h
Normal file
11
ext/linguist/linguist.h
Normal file
@@ -0,0 +1,11 @@
|
||||
enum tokenizer_type {
|
||||
NO_ACTION,
|
||||
REGULAR_TOKEN,
|
||||
SHEBANG_TOKEN,
|
||||
SGML_TOKEN,
|
||||
};
|
||||
|
||||
struct tokenizer_extra {
|
||||
char *token;
|
||||
enum tokenizer_type type;
|
||||
};
|
||||
119
ext/linguist/tokenizer.l
Normal file
119
ext/linguist/tokenizer.l
Normal file
@@ -0,0 +1,119 @@
|
||||
%{
|
||||
|
||||
#include "linguist.h"
|
||||
|
||||
#define feed_token(tok, typ) do { \
|
||||
yyextra->token = (tok); \
|
||||
yyextra->type = (typ); \
|
||||
} while (0)
|
||||
|
||||
#define eat_until_eol() do { \
|
||||
int c; \
|
||||
while ((c = input(yyscanner)) != '\n' && c != EOF && c); \
|
||||
if (c == EOF || !c) \
|
||||
return 0; \
|
||||
} while (0)
|
||||
|
||||
#define eat_until_unescaped(q) do { \
|
||||
int c; \
|
||||
while ((c = input(yyscanner)) != EOF && c) { \
|
||||
if (c == '\n') \
|
||||
break; \
|
||||
if (c == '\\') { \
|
||||
c = input(yyscanner); \
|
||||
if (c == EOF || !c) \
|
||||
return 0; \
|
||||
} else if (c == q) \
|
||||
break; \
|
||||
} \
|
||||
if (c == EOF || !c) \
|
||||
return 0; \
|
||||
} while (0)
|
||||
|
||||
%}
|
||||
|
||||
%option never-interactive yywrap reentrant nounput warn nodefault header-file="lex.linguist_yy.h" extra-type="struct tokenizer_extra *" prefix="linguist_yy"
|
||||
%x sgml c_comment xml_comment haskell_comment ocaml_comment python_dcomment python_scomment
|
||||
|
||||
%%
|
||||
|
||||
^#![ \t]*([[:alnum:]_\/]*\/)?env([ \t]+([^ \t=]*=[^ \t]*))*[ \t]+[[:alpha:]_]+ {
|
||||
const char *off = strrchr(yytext, ' ');
|
||||
if (!off)
|
||||
off = yytext;
|
||||
else
|
||||
++off;
|
||||
feed_token(strdup(off), SHEBANG_TOKEN);
|
||||
eat_until_eol();
|
||||
return 1;
|
||||
}
|
||||
|
||||
^#![ \t]*[[:alpha:]_\/]+ {
|
||||
const char *off = strrchr(yytext, '/');
|
||||
if (!off)
|
||||
off = yytext;
|
||||
else
|
||||
++off;
|
||||
if (strcmp(off, "env") == 0) {
|
||||
eat_until_eol();
|
||||
} else {
|
||||
feed_token(strdup(off), SHEBANG_TOKEN);
|
||||
eat_until_eol();
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
^[ \t]*(\/\/|--|\#|%|\")" ".* { /* nothing */ }
|
||||
|
||||
"/*" { BEGIN(c_comment); }
|
||||
/* See below for xml_comment start. */
|
||||
"{-" { BEGIN(haskell_comment); }
|
||||
"(*" { BEGIN(ocaml_comment); }
|
||||
"\"\"\"" { BEGIN(python_dcomment); }
|
||||
"'''" { BEGIN(python_scomment); }
|
||||
|
||||
<c_comment,xml_comment,haskell_comment,ocaml_comment,python_dcomment,python_scomment>.|\n { /* nothing */ }
|
||||
<c_comment>"*/" { BEGIN(INITIAL); }
|
||||
<xml_comment>"-->" { BEGIN(INITIAL); }
|
||||
<haskell_comment>"-}" { BEGIN(INITIAL); }
|
||||
<ocaml_comment>"*)" { BEGIN(INITIAL); }
|
||||
<python_dcomment>"\"\"\"" { BEGIN(INITIAL); }
|
||||
<python_scomment>"'''" { BEGIN(INITIAL); }
|
||||
|
||||
\"\"|'' { /* nothing */ }
|
||||
\" { eat_until_unescaped('"'); }
|
||||
' { eat_until_unescaped('\''); }
|
||||
(0x[0-9a-fA-F]([0-9a-fA-F]|\.)*|[0-9]([0-9]|\.)*)([uU][lL]{0,2}|([eE][-+][0-9]*)?[fFlL]*) { /* nothing */ }
|
||||
\<[[:alnum:]_!./?-]+ {
|
||||
if (strcmp(yytext, "<!--") == 0) {
|
||||
BEGIN(xml_comment);
|
||||
} else {
|
||||
feed_token(strdup(yytext), SGML_TOKEN);
|
||||
BEGIN(sgml);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
<sgml>[[:alnum:]_]+=\" { feed_token(strndup(yytext, strlen(yytext) - 1), REGULAR_TOKEN); eat_until_unescaped('"'); return 1; }
|
||||
<sgml>[[:alnum:]_]+=' { feed_token(strndup(yytext, strlen(yytext) - 1), REGULAR_TOKEN); eat_until_unescaped('\''); return 1; }
|
||||
<sgml>[[:alnum:]_]+=[[:alnum:]_]* { feed_token(strdup(yytext), REGULAR_TOKEN); *(strchr(yyextra->token, '=') + 1) = 0; return 1; }
|
||||
<sgml>[[:alnum:]_]+ { feed_token(strdup(yytext), REGULAR_TOKEN); return 1; }
|
||||
<sgml>\> { BEGIN(INITIAL); }
|
||||
<sgml>.|\n { /* nothing */ }
|
||||
;|\{|\}|\(|\)|\[|\] { feed_token(strdup(yytext), REGULAR_TOKEN); return 1; }
|
||||
[[:alnum:]_.@#/*]+ {
|
||||
if (strncmp(yytext, "/*", 2) == 0) {
|
||||
if (strlen(yytext) >= 4 && strcmp(yytext + strlen(yytext) - 2, "*/") == 0) {
|
||||
/* nothing */
|
||||
} else {
|
||||
BEGIN(c_comment);
|
||||
}
|
||||
} else {
|
||||
feed_token(strdup(yytext), REGULAR_TOKEN);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
\<\<?|\+|\-|\*|\/|%|&&?|\|\|? { feed_token(strdup(yytext), REGULAR_TOKEN); return 1; }
|
||||
.|\n { /* nothing */ }
|
||||
|
||||
%%
|
||||
|
||||
@@ -10,15 +10,17 @@ Gem::Specification.new do |s|
|
||||
s.homepage = "https://github.com/github/linguist"
|
||||
s.license = "MIT"
|
||||
|
||||
s.files = Dir['lib/**/*'] + Dir['grammars/*'] + ['LICENSE']
|
||||
s.files = Dir['lib/**/*'] + Dir['ext/**/*'] + Dir['grammars/*'] + ['LICENSE']
|
||||
s.executables = ['linguist', 'git-linguist']
|
||||
s.extensions = ['ext/linguist/extconf.rb']
|
||||
|
||||
s.add_dependency 'charlock_holmes', '~> 0.7.3'
|
||||
s.add_dependency 'charlock_holmes', '~> 0.7.5'
|
||||
s.add_dependency 'escape_utils', '~> 1.1.0'
|
||||
s.add_dependency 'mime-types', '>= 1.19'
|
||||
s.add_dependency 'rugged', '>= 0.25.1'
|
||||
|
||||
s.add_development_dependency 'minitest', '>= 5.0'
|
||||
s.add_development_dependency 'rake-compiler', '~> 0.9'
|
||||
s.add_development_dependency 'mocha'
|
||||
s.add_development_dependency 'plist', '~>3.1'
|
||||
s.add_development_dependency 'pry'
|
||||
|
||||
59
grammars.yml
59
grammars.yml
@@ -1,4 +1,3 @@
|
||||
---
|
||||
https://bitbucket.org/Clams/sublimesystemverilog/get/default.tar.gz:
|
||||
- source.systemverilog
|
||||
- source.ucfconstraints
|
||||
@@ -45,8 +44,6 @@ vendor/grammars/Isabelle.tmbundle:
|
||||
- source.isabelle.theory
|
||||
vendor/grammars/JSyntax:
|
||||
- source.j
|
||||
vendor/grammars/Julia.tmbundle:
|
||||
- source.julia
|
||||
vendor/grammars/Lean.tmbundle:
|
||||
- source.lean
|
||||
vendor/grammars/LiveScript.tmbundle:
|
||||
@@ -130,6 +127,9 @@ vendor/grammars/SublimePuppet:
|
||||
- source.puppet
|
||||
vendor/grammars/SublimeXtend:
|
||||
- source.xtend
|
||||
vendor/grammars/Syntax-highlighting-for-PostCSS:
|
||||
- source.css.postcss.sugarss
|
||||
- source.postcss
|
||||
vendor/grammars/TLA:
|
||||
- source.tla
|
||||
vendor/grammars/TXL:
|
||||
@@ -138,6 +138,11 @@ vendor/grammars/Terraform.tmLanguage:
|
||||
- source.terraform
|
||||
vendor/grammars/Textmate-Gosu-Bundle:
|
||||
- source.gosu.2
|
||||
vendor/grammars/TypeScript-TmLanguage:
|
||||
- source.ts
|
||||
- source.tsx
|
||||
- text.error-list
|
||||
- text.find-refs
|
||||
vendor/grammars/UrWeb-Language-Definition:
|
||||
- source.ur
|
||||
vendor/grammars/VBDotNetSyntax:
|
||||
@@ -187,6 +192,9 @@ vendor/grammars/atom-language-1c-bsl:
|
||||
vendor/grammars/atom-language-clean:
|
||||
- source.clean
|
||||
- text.restructuredtext.clean
|
||||
vendor/grammars/atom-language-julia:
|
||||
- source.julia
|
||||
- source.julia.console
|
||||
vendor/grammars/atom-language-p4:
|
||||
- source.p4
|
||||
vendor/grammars/atom-language-perl6:
|
||||
@@ -252,6 +260,8 @@ vendor/grammars/d.tmbundle:
|
||||
vendor/grammars/dartlang:
|
||||
- source.dart
|
||||
- source.yaml-ext
|
||||
vendor/grammars/data-weave-tmLanguage:
|
||||
- source.data-weave
|
||||
vendor/grammars/desktop.tmbundle:
|
||||
- source.desktop
|
||||
vendor/grammars/diff.tmbundle:
|
||||
@@ -333,6 +343,8 @@ vendor/grammars/java.tmbundle:
|
||||
- source.java-properties
|
||||
- text.html.jsp
|
||||
- text.junit-test-report
|
||||
vendor/grammars/javadoc.tmbundle:
|
||||
- text.html.javadoc
|
||||
vendor/grammars/javascript-objective-j.tmbundle:
|
||||
- source.js.objj
|
||||
vendor/grammars/jflex.tmbundle:
|
||||
@@ -350,6 +362,8 @@ vendor/grammars/language-asn1:
|
||||
vendor/grammars/language-babel:
|
||||
- source.js.jsx
|
||||
- source.regexp.babel
|
||||
vendor/grammars/language-ballerina:
|
||||
- source.ballerina
|
||||
vendor/grammars/language-batchfile:
|
||||
- source.batchfile
|
||||
vendor/grammars/language-blade:
|
||||
@@ -377,9 +391,12 @@ vendor/grammars/language-csound:
|
||||
- source.csound-score
|
||||
vendor/grammars/language-css:
|
||||
- source.css
|
||||
vendor/grammars/language-cwl:
|
||||
- source.cwl
|
||||
vendor/grammars/language-emacs-lisp:
|
||||
- source.emacs.lisp
|
||||
vendor/grammars/language-fontforge:
|
||||
- source.afm
|
||||
- source.fontforge
|
||||
- source.opentype
|
||||
- text.sfd
|
||||
@@ -393,6 +410,7 @@ vendor/grammars/language-haml:
|
||||
- text.haml
|
||||
- text.hamlc
|
||||
vendor/grammars/language-haskell:
|
||||
- annotation.liquidhaskell.haskell
|
||||
- hint.haskell
|
||||
- hint.message.haskell
|
||||
- hint.type.haskell
|
||||
@@ -400,6 +418,7 @@ vendor/grammars/language-haskell:
|
||||
- source.cabal
|
||||
- source.haskell
|
||||
- source.hsc2hs
|
||||
- source.hsig
|
||||
- text.tex.latex.haskell
|
||||
vendor/grammars/language-inform7:
|
||||
- source.inform7
|
||||
@@ -429,8 +448,16 @@ vendor/grammars/language-ninja:
|
||||
- source.ninja
|
||||
vendor/grammars/language-pan:
|
||||
- source.pan
|
||||
vendor/grammars/language-pcb:
|
||||
- source.gerber
|
||||
- source.pcb.board
|
||||
- source.pcb.schematic
|
||||
- source.pcb.sexp
|
||||
vendor/grammars/language-povray:
|
||||
- source.pov-ray sdl
|
||||
vendor/grammars/language-reason:
|
||||
- source.reason
|
||||
- source.reason.hover.type
|
||||
vendor/grammars/language-regexp:
|
||||
- source.regexp
|
||||
- source.regexp.extended
|
||||
@@ -450,6 +477,10 @@ vendor/grammars/language-roff:
|
||||
vendor/grammars/language-rpm-spec:
|
||||
- source.changelogs.rpm-spec
|
||||
- source.rpm-spec
|
||||
vendor/grammars/language-ruby:
|
||||
- source.ruby
|
||||
- source.ruby.gemfile
|
||||
- text.html.erb
|
||||
vendor/grammars/language-shellscript:
|
||||
- source.shell
|
||||
- text.shell-session
|
||||
@@ -476,6 +507,8 @@ vendor/grammars/language-yaml:
|
||||
- source.yaml
|
||||
vendor/grammars/language-yang:
|
||||
- source.yang
|
||||
vendor/grammars/language-yara:
|
||||
- source.yara
|
||||
vendor/grammars/latex.tmbundle:
|
||||
- text.bibtex
|
||||
- text.log.latex
|
||||
@@ -542,7 +575,7 @@ vendor/grammars/opa.tmbundle:
|
||||
- source.opa
|
||||
vendor/grammars/openscad.tmbundle:
|
||||
- source.scad
|
||||
vendor/grammars/oz-tmbundle/Syntaxes/Oz.tmLanguage:
|
||||
vendor/grammars/oz-tmbundle:
|
||||
- source.oz
|
||||
vendor/grammars/parrot:
|
||||
- source.parrot.pir
|
||||
@@ -577,13 +610,8 @@ vendor/grammars/r.tmbundle:
|
||||
- text.tex.latex.rd
|
||||
vendor/grammars/rascal-syntax-highlighting:
|
||||
- source.rascal
|
||||
vendor/grammars/reason:
|
||||
- source.reason
|
||||
vendor/grammars/ruby-slim.tmbundle:
|
||||
- text.slim
|
||||
vendor/grammars/ruby.tmbundle:
|
||||
- source.ruby
|
||||
- text.html.erb
|
||||
vendor/grammars/sas.tmbundle:
|
||||
- source.SASLog
|
||||
- source.sas
|
||||
@@ -609,6 +637,8 @@ vendor/grammars/sourcepawn:
|
||||
- source.sp
|
||||
vendor/grammars/sql.tmbundle:
|
||||
- source.sql
|
||||
vendor/grammars/squirrel-language:
|
||||
- source.nut
|
||||
vendor/grammars/st2-zonefile:
|
||||
- text.zone_file
|
||||
vendor/grammars/standard-ml.tmbundle:
|
||||
@@ -616,6 +646,8 @@ vendor/grammars/standard-ml.tmbundle:
|
||||
- source.ml
|
||||
vendor/grammars/sublime-MuPAD:
|
||||
- source.mupad
|
||||
vendor/grammars/sublime-angelscript:
|
||||
- source.angelscript
|
||||
vendor/grammars/sublime-aspectj:
|
||||
- source.aspectj
|
||||
vendor/grammars/sublime-autoit:
|
||||
@@ -637,6 +669,8 @@ vendor/grammars/sublime-golo:
|
||||
- source.golo
|
||||
vendor/grammars/sublime-mask:
|
||||
- source.mask
|
||||
vendor/grammars/sublime-nearley:
|
||||
- source.ne
|
||||
vendor/grammars/sublime-netlinx:
|
||||
- source.netlinx
|
||||
- source.netlinx.erb
|
||||
@@ -662,11 +696,6 @@ vendor/grammars/sublime-terra:
|
||||
- source.terra
|
||||
vendor/grammars/sublime-text-ox:
|
||||
- source.ox
|
||||
vendor/grammars/sublime-typescript:
|
||||
- source.ts
|
||||
- source.tsx
|
||||
- text.error-list
|
||||
- text.find-refs
|
||||
vendor/grammars/sublime-varnish:
|
||||
- source.varnish.vcl
|
||||
vendor/grammars/sublime_cobol:
|
||||
@@ -699,6 +728,8 @@ vendor/grammars/vhdl:
|
||||
- source.vhdl
|
||||
vendor/grammars/vue-syntax-highlight:
|
||||
- text.html.vue
|
||||
vendor/grammars/wdl-sublime-syntax-highlighter:
|
||||
- source.wdl
|
||||
vendor/grammars/xc.tmbundle:
|
||||
- source.xc
|
||||
vendor/grammars/xml.tmbundle:
|
||||
|
||||
@@ -275,10 +275,8 @@ module Linguist
|
||||
# also--importantly--without having to duplicate many (potentially
|
||||
# large) strings.
|
||||
begin
|
||||
encoded_newlines = ["\r\n", "\r", "\n"].
|
||||
map { |nl| nl.encode(ruby_encoding, "ASCII-8BIT").force_encoding(data.encoding) }
|
||||
|
||||
data.split(Regexp.union(encoded_newlines), -1)
|
||||
|
||||
data.split(encoded_newlines_re, -1)
|
||||
rescue Encoding::ConverterNotFoundError
|
||||
# The data is not splittable in the detected encoding. Assume it's
|
||||
# one big line.
|
||||
@@ -289,6 +287,51 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
def encoded_newlines_re
|
||||
@encoded_newlines_re ||= Regexp.union(["\r\n", "\r", "\n"].
|
||||
map { |nl| nl.encode(ruby_encoding, "ASCII-8BIT").force_encoding(data.encoding) })
|
||||
|
||||
end
|
||||
|
||||
def first_lines(n)
|
||||
return lines[0...n] if defined? @lines
|
||||
return [] unless viewable? && data
|
||||
|
||||
i, c = 0, 0
|
||||
while c < n && j = data.index(encoded_newlines_re, i)
|
||||
i = j + $&.length
|
||||
c += 1
|
||||
end
|
||||
data[0...i].split(encoded_newlines_re, -1)
|
||||
end
|
||||
|
||||
def last_lines(n)
|
||||
if defined? @lines
|
||||
if n >= @lines.length
|
||||
@lines
|
||||
else
|
||||
lines[-n..-1]
|
||||
end
|
||||
end
|
||||
return [] unless viewable? && data
|
||||
|
||||
no_eol = true
|
||||
i, c = data.length, 0
|
||||
k = i
|
||||
while c < n && j = data.rindex(encoded_newlines_re, i - 1)
|
||||
if c == 0 && j + $&.length == i
|
||||
no_eol = false
|
||||
n += 1
|
||||
end
|
||||
i = j
|
||||
k = j + $&.length
|
||||
c += 1
|
||||
end
|
||||
r = data[k..-1].split(encoded_newlines_re, -1)
|
||||
r.pop if !no_eol
|
||||
r
|
||||
end
|
||||
|
||||
# Public: Get number of lines of code
|
||||
#
|
||||
# Requires Blob#data
|
||||
|
||||
@@ -3,6 +3,8 @@ require 'linguist/tokenizer'
|
||||
module Linguist
|
||||
# Language bayesian classifier.
|
||||
class Classifier
|
||||
CLASSIFIER_CONSIDER_BYTES = 50 * 1024
|
||||
|
||||
# Public: Use the classifier to detect language of the blob.
|
||||
#
|
||||
# blob - An object that quacks like a blob.
|
||||
@@ -17,7 +19,7 @@ module Linguist
|
||||
# Returns an Array of Language objects, most probable first.
|
||||
def self.call(blob, possible_languages)
|
||||
language_names = possible_languages.map(&:name)
|
||||
classify(Samples.cache, blob.data, language_names).map do |name, _|
|
||||
classify(Samples.cache, blob.data[0...CLASSIFIER_CONSIDER_BYTES], language_names).map do |name, _|
|
||||
Language[name] # Return the actual Language objects
|
||||
end
|
||||
end
|
||||
|
||||
@@ -23,21 +23,21 @@ module Linguist
|
||||
#
|
||||
# Returns a String like '100644'
|
||||
def mode
|
||||
File.stat(@fullpath).mode.to_s(8)
|
||||
@mode ||= File.stat(@fullpath).mode.to_s(8)
|
||||
end
|
||||
|
||||
# Public: Read file contents.
|
||||
#
|
||||
# Returns a String.
|
||||
def data
|
||||
File.read(@fullpath)
|
||||
@data ||= File.read(@fullpath)
|
||||
end
|
||||
|
||||
# Public: Get byte size
|
||||
#
|
||||
# Returns an Integer.
|
||||
def size
|
||||
File.size(@fullpath)
|
||||
@size ||= File.size(@fullpath)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -52,6 +52,8 @@ module Linguist
|
||||
# Return true or false
|
||||
def generated?
|
||||
xcode_file? ||
|
||||
cocoapods? ||
|
||||
carthage_build? ||
|
||||
generated_net_designer_file? ||
|
||||
generated_net_specflow_feature_file? ||
|
||||
composer_lock? ||
|
||||
@@ -81,7 +83,8 @@ module Linguist
|
||||
generated_grammarkit? ||
|
||||
generated_roxygen2? ||
|
||||
generated_jison? ||
|
||||
generated_yarn_lock?
|
||||
generated_yarn_lock? ||
|
||||
generated_grpc_cpp?
|
||||
end
|
||||
|
||||
# Internal: Is the blob an Xcode file?
|
||||
@@ -94,6 +97,20 @@ module Linguist
|
||||
['.nib', '.xcworkspacedata', '.xcuserstate'].include?(extname)
|
||||
end
|
||||
|
||||
# Internal: Is the blob part of Pods/, which contains dependencies not meant for humans in pull requests.
|
||||
#
|
||||
# Returns true or false.
|
||||
def cocoapods?
|
||||
!!name.match(/(^Pods|\/Pods)\//)
|
||||
end
|
||||
|
||||
# Internal: Is the blob part of Carthage/Build/, which contains dependencies not meant for humans in pull requests.
|
||||
#
|
||||
# Returns true or false.
|
||||
def carthage_build?
|
||||
!!name.match(/(^|\/)Carthage\/Build\//)
|
||||
end
|
||||
|
||||
# Internal: Is the blob minified files?
|
||||
#
|
||||
# Consider a file minified if the average line length is
|
||||
@@ -243,7 +260,11 @@ module Linguist
|
||||
#
|
||||
# Returns true or false.
|
||||
def generated_postscript?
|
||||
return false unless ['.ps', '.eps'].include? extname
|
||||
return false unless ['.ps', '.eps', '.pfa'].include? extname
|
||||
|
||||
# Type 1 and Type 42 fonts converted to PostScript are stored as hex-encoded byte streams; these
|
||||
# streams are always preceded the `eexec` operator (if Type 1), or the `/sfnts` key (if Type 42).
|
||||
return true if data =~ /(\n|\r\n|\r)\s*(?:currentfile eexec\s+|\/sfnts\s+\[\1<)\h{8,}\1/
|
||||
|
||||
# We analyze the "%%Creator:" comment, which contains the author/generator
|
||||
# of the file. If there is one, it should be in one of the first few lines.
|
||||
@@ -253,10 +274,12 @@ module Linguist
|
||||
# Most generators write their version number, while human authors' or companies'
|
||||
# names don't contain numbers. So look if the line contains digits. Also
|
||||
# look for some special cases without version numbers.
|
||||
return creator =~ /[0-9]/ ||
|
||||
creator.include?("mpage") ||
|
||||
creator.include?("draw") ||
|
||||
creator.include?("ImageMagick")
|
||||
return true if creator =~ /[0-9]|draw|mpage|ImageMagick|inkscape|MATLAB/ ||
|
||||
creator =~ /PCBNEW|pnmtops|\(Unknown\)|Serif Affinity|Filterimage -tops/
|
||||
|
||||
# EAGLE doesn't include a version number when it generates PostScript.
|
||||
# However, it does prepend its name to the document's "%%Title" field.
|
||||
!!creator.include?("EAGLE") and lines[0..4].find {|line| line =~ /^%%Title: EAGLE Drawing /}
|
||||
end
|
||||
|
||||
def generated_go?
|
||||
@@ -489,5 +512,18 @@ module Linguist
|
||||
return false unless lines.count > 0
|
||||
return lines[0].include?("# THIS IS AN AUTOGENERATED FILE")
|
||||
end
|
||||
|
||||
# Internal: Is this a protobuf/grpc-generated C++ file?
|
||||
#
|
||||
# A generated file contains:
|
||||
# // Generated by the gRPC C++ plugin.
|
||||
# on the first line.
|
||||
#
|
||||
# Return true or false
|
||||
def generated_grpc_cpp?
|
||||
return false unless %w{.cpp .hpp .h .cc}.include? extname
|
||||
return false unless lines.count > 1
|
||||
return lines[0].start_with?("// Generated by the gRPC")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
module Linguist
|
||||
# A collection of simple heuristics that can be used to better analyze languages.
|
||||
class Heuristics
|
||||
HEURISTICS_CONSIDER_BYTES = 50 * 1024
|
||||
|
||||
# Public: Use heuristics to detect language of the blob.
|
||||
#
|
||||
# blob - An object that quacks like a blob.
|
||||
@@ -14,12 +16,11 @@ module Linguist
|
||||
#
|
||||
# Returns an Array of languages, or empty if none matched or were inconclusive.
|
||||
def self.call(blob, candidates)
|
||||
data = blob.data
|
||||
data = blob.data[0...HEURISTICS_CONSIDER_BYTES]
|
||||
|
||||
@heuristics.each do |heuristic|
|
||||
if heuristic.matches?(blob.name)
|
||||
languages = Array(heuristic.call(data))
|
||||
return languages if languages.any? || languages.all? { |l| candidates.include?(l) }
|
||||
if heuristic.matches?(blob.name, candidates)
|
||||
return Array(heuristic.call(data))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -28,7 +29,8 @@ module Linguist
|
||||
|
||||
# Internal: Define a new heuristic.
|
||||
#
|
||||
# languages - String names of languages to disambiguate.
|
||||
# exts_and_langs - String names of file extensions and languages to
|
||||
# disambiguate.
|
||||
# heuristic - Block which takes data as an argument and returns a Language or nil.
|
||||
#
|
||||
# Examples
|
||||
@@ -41,23 +43,28 @@ module Linguist
|
||||
# end
|
||||
# end
|
||||
#
|
||||
def self.disambiguate(*extensions, &heuristic)
|
||||
@heuristics << new(extensions, &heuristic)
|
||||
def self.disambiguate(*exts_and_langs, &heuristic)
|
||||
@heuristics << new(exts_and_langs, &heuristic)
|
||||
end
|
||||
|
||||
# Internal: Array of defined heuristics
|
||||
@heuristics = []
|
||||
|
||||
# Internal
|
||||
def initialize(extensions, &heuristic)
|
||||
@extensions = extensions
|
||||
def initialize(exts_and_langs, &heuristic)
|
||||
@exts_and_langs, @candidates = exts_and_langs.partition {|e| e =~ /\A\./}
|
||||
@heuristic = heuristic
|
||||
end
|
||||
|
||||
# Internal: Check if this heuristic matches the candidate languages.
|
||||
def matches?(filename)
|
||||
# Internal: Check if this heuristic matches the candidate filenames or
|
||||
# languages.
|
||||
def matches?(filename, candidates)
|
||||
filename = filename.downcase
|
||||
@extensions.any? { |ext| filename.end_with?(ext) }
|
||||
candidates = candidates.compact.map(&:name)
|
||||
@exts_and_langs.any? { |ext| filename.end_with?(ext) } ||
|
||||
(candidates.any? &&
|
||||
(@candidates - candidates == [] &&
|
||||
candidates - @candidates == []))
|
||||
end
|
||||
|
||||
# Internal: Perform the heuristic
|
||||
@@ -66,7 +73,25 @@ module Linguist
|
||||
end
|
||||
|
||||
# Common heuristics
|
||||
CPlusPlusRegex = Regexp.union(
|
||||
/^\s*#\s*include <(cstdint|string|vector|map|list|array|bitset|queue|stack|forward_list|unordered_map|unordered_set|(i|o|io)stream)>/,
|
||||
/^\s*template\s*</,
|
||||
/^[ \t]*try/,
|
||||
/^[ \t]*catch\s*\(/,
|
||||
/^[ \t]*(class|(using[ \t]+)?namespace)\s+\w+/,
|
||||
/^[ \t]*(private|public|protected):$/,
|
||||
/std::\w+/)
|
||||
ObjectiveCRegex = /^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])/
|
||||
Perl5Regex = /\buse\s+(?:strict\b|v?5\.)/
|
||||
Perl6Regex = /^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)/
|
||||
|
||||
disambiguate ".as" do |data|
|
||||
if /^\s*(package\s+[a-z0-9_\.]+|import\s+[a-zA-Z0-9_\.]+;|class\s+[A-Za-z0-9_]+\s+extends\s+[A-Za-z0-9_]+)/.match(data)
|
||||
Language["ActionScript"]
|
||||
else
|
||||
Language["AngelScript"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".asc" do |data|
|
||||
if /^(----[- ]BEGIN|ssh-(rsa|dss)) /.match(data)
|
||||
@@ -206,8 +231,7 @@ module Linguist
|
||||
disambiguate ".h" do |data|
|
||||
if ObjectiveCRegex.match(data)
|
||||
Language["Objective-C"]
|
||||
elsif (/^\s*#\s*include <(cstdint|string|vector|map|list|array|bitset|queue|stack|forward_list|unordered_map|unordered_set|(i|o|io)stream)>/.match(data) ||
|
||||
/^\s*template\s*</.match(data) || /^[ \t]*try/.match(data) || /^[ \t]*catch\s*\(/.match(data) || /^[ \t]*(class|(using[ \t]+)?namespace)\s+\w+/.match(data) || /^[ \t]*(private|public|protected):$/.match(data) || /std::\w+/.match(data))
|
||||
elsif CPlusPlusRegex.match(data)
|
||||
Language["C++"]
|
||||
end
|
||||
end
|
||||
@@ -337,31 +361,25 @@ module Linguist
|
||||
disambiguate ".pl" do |data|
|
||||
if /^[^#]*:-/.match(data)
|
||||
Language["Prolog"]
|
||||
elsif /use strict|use\s+v?5\./.match(data)
|
||||
elsif Perl5Regex.match(data)
|
||||
Language["Perl"]
|
||||
elsif /^(use v6|(my )?class|module)/.match(data)
|
||||
elsif Perl6Regex.match(data)
|
||||
Language["Perl 6"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".pm" do |data|
|
||||
if /^\s*(?:use\s+v6\s*;|(?:\bmy\s+)?class|module)\b/.match(data)
|
||||
if Perl5Regex.match(data)
|
||||
Language["Perl"]
|
||||
elsif Perl6Regex.match(data)
|
||||
Language["Perl 6"]
|
||||
elsif /\buse\s+(?:strict\b|v?5\.)/.match(data)
|
||||
Language["Perl"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".pod" do |data|
|
||||
if /^=\w+\b/.match(data)
|
||||
Language["Pod"]
|
||||
else
|
||||
Language["Perl"]
|
||||
elsif /^\s*\/\* XPM \*\//.match(data)
|
||||
Language["XPM"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".pro" do |data|
|
||||
if /^[^#]+:-/.match(data)
|
||||
if /^[^\[#]+:-/.match(data)
|
||||
Language["Prolog"]
|
||||
elsif data.include?("last_client=")
|
||||
Language["INI"]
|
||||
@@ -443,12 +461,12 @@ module Linguist
|
||||
end
|
||||
|
||||
disambiguate ".t" do |data|
|
||||
if /^\s*%[ \t]+|^\s*var\s+\w+\s*:=\s*\w+/.match(data)
|
||||
Language["Turing"]
|
||||
elsif /^\s*(?:use\s+v6\s*;|\bmodule\b|\b(?:my\s+)?class\b)/.match(data)
|
||||
Language["Perl 6"]
|
||||
elsif /\buse\s+(?:strict\b|v?5\.)/.match(data)
|
||||
if Perl5Regex.match(data)
|
||||
Language["Perl"]
|
||||
elsif Perl6Regex.match(data)
|
||||
Language["Perl 6"]
|
||||
elsif /^\s*%[ \t]+|^\s*var\s+\w+\s*:=\s*\w+/.match(data)
|
||||
Language["Turing"]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -461,7 +479,7 @@ module Linguist
|
||||
end
|
||||
|
||||
disambiguate ".ts" do |data|
|
||||
if data.include?("<TS")
|
||||
if /<TS\b/.match(data)
|
||||
Language["XML"]
|
||||
else
|
||||
Language["TypeScript"]
|
||||
@@ -484,5 +502,14 @@ module Linguist
|
||||
Language["XML"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".w" do |data|
|
||||
if (data.include?("&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS"))
|
||||
Language["OpenEdge ABL"]
|
||||
elsif /^@(<|\w+\.)/.match(data)
|
||||
Language["CWeb"]
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -109,8 +109,8 @@ module Linguist
|
||||
#
|
||||
# Returns the Language or nil if none was found.
|
||||
def self.find_by_name(name)
|
||||
return nil if name.to_s.empty?
|
||||
name && (@name_index[name.downcase] || @name_index[name.split(',').first.downcase])
|
||||
return nil if !name.is_a?(String) || name.to_s.empty?
|
||||
name && (@name_index[name.downcase] || @name_index[name.split(',', 2).first.downcase])
|
||||
end
|
||||
|
||||
# Public: Look up Language by one of its aliases.
|
||||
@@ -124,8 +124,8 @@ module Linguist
|
||||
#
|
||||
# Returns the Language or nil if none was found.
|
||||
def self.find_by_alias(name)
|
||||
return nil if name.to_s.empty?
|
||||
name && (@alias_index[name.downcase] || @alias_index[name.split(',').first.downcase])
|
||||
return nil if !name.is_a?(String) || name.to_s.empty?
|
||||
name && (@alias_index[name.downcase] || @alias_index[name.split(',', 2).first.downcase])
|
||||
end
|
||||
|
||||
# Public: Look up Languages by filename.
|
||||
@@ -214,15 +214,12 @@ module Linguist
|
||||
#
|
||||
# Returns the Language or nil if none was found.
|
||||
def self.[](name)
|
||||
return nil if name.to_s.empty?
|
||||
return nil if !name.is_a?(String) || name.to_s.empty?
|
||||
|
||||
lang = @index[name.downcase]
|
||||
return lang if lang
|
||||
|
||||
name = name.split(',').first
|
||||
return nil if name.to_s.empty?
|
||||
|
||||
@index[name.downcase]
|
||||
@index[name.split(',', 2).first.downcase]
|
||||
end
|
||||
|
||||
# Public: A List of popular languages
|
||||
|
||||
@@ -171,6 +171,18 @@ Ada:
|
||||
- ada2005
|
||||
ace_mode: ada
|
||||
language_id: 11
|
||||
Adobe Font Metrics:
|
||||
type: data
|
||||
tm_scope: source.afm
|
||||
extensions:
|
||||
- ".afm"
|
||||
aliases:
|
||||
- acfm
|
||||
- adobe composite font metrics
|
||||
- adobe multiple font metrics
|
||||
- amfm
|
||||
ace_mode: text
|
||||
language_id: 147198098
|
||||
Agda:
|
||||
type: programming
|
||||
color: "#315665"
|
||||
@@ -198,6 +210,17 @@ Alpine Abuild:
|
||||
codemirror_mode: shell
|
||||
codemirror_mime_type: text/x-sh
|
||||
language_id: 14
|
||||
AngelScript:
|
||||
type: programming
|
||||
color: "#C7D7DC"
|
||||
extensions:
|
||||
- ".as"
|
||||
- ".angelscript"
|
||||
tm_scope: source.angelscript
|
||||
ace_mode: text
|
||||
codemirror_mode: clike
|
||||
codemirror_mime_type: text/x-c++src
|
||||
language_id: 389477596
|
||||
Ant Build System:
|
||||
type: data
|
||||
tm_scope: text.xml.ant
|
||||
@@ -209,7 +232,7 @@ Ant Build System:
|
||||
codemirror_mime_type: application/xml
|
||||
language_id: 15
|
||||
ApacheConf:
|
||||
type: markup
|
||||
type: data
|
||||
aliases:
|
||||
- aconf
|
||||
- apache
|
||||
@@ -342,6 +365,14 @@ Awk:
|
||||
- nawk
|
||||
ace_mode: text
|
||||
language_id: 28
|
||||
Ballerina:
|
||||
type: programming
|
||||
extensions:
|
||||
- ".bal"
|
||||
tm_scope: source.ballerina
|
||||
ace_mode: text
|
||||
color: "#FF5000"
|
||||
language_id: 720859680
|
||||
Batchfile:
|
||||
type: programming
|
||||
aliases:
|
||||
@@ -613,8 +644,10 @@ CartoCSS:
|
||||
language_id: 53
|
||||
Ceylon:
|
||||
type: programming
|
||||
color: "#dfa535"
|
||||
extensions:
|
||||
- ".ceylon"
|
||||
tm_scope: source.ceylon
|
||||
ace_mode: text
|
||||
language_id: 54
|
||||
Chapel:
|
||||
@@ -774,6 +807,19 @@ Common Lisp:
|
||||
codemirror_mode: commonlisp
|
||||
codemirror_mime_type: text/x-common-lisp
|
||||
language_id: 66
|
||||
Common Workflow Language:
|
||||
alias: cwl
|
||||
type: programming
|
||||
ace_mode: yaml
|
||||
codemirror_mode: yaml
|
||||
codemirror_mime_type: text/x-yaml
|
||||
extensions:
|
||||
- ".cwl"
|
||||
interpreters:
|
||||
- cwl-runner
|
||||
color: "#B5314C"
|
||||
tm_scope: source.cwl
|
||||
language_id: 988547172
|
||||
Component Pascal:
|
||||
type: programming
|
||||
color: "#B0CE4E"
|
||||
@@ -843,7 +889,7 @@ Csound:
|
||||
- ".orc"
|
||||
- ".udo"
|
||||
tm_scope: source.csound
|
||||
ace_mode: text
|
||||
ace_mode: csound_orchestra
|
||||
language_id: 73
|
||||
Csound Document:
|
||||
type: programming
|
||||
@@ -852,7 +898,7 @@ Csound Document:
|
||||
extensions:
|
||||
- ".csd"
|
||||
tm_scope: source.csound-document
|
||||
ace_mode: text
|
||||
ace_mode: csound_document
|
||||
language_id: 74
|
||||
Csound Score:
|
||||
type: programming
|
||||
@@ -861,7 +907,7 @@ Csound Score:
|
||||
extensions:
|
||||
- ".sco"
|
||||
tm_scope: source.csound-score
|
||||
ace_mode: text
|
||||
ace_mode: csound_score
|
||||
language_id: 75
|
||||
Cuda:
|
||||
type: programming
|
||||
@@ -974,6 +1020,14 @@ Dart:
|
||||
codemirror_mode: dart
|
||||
codemirror_mime_type: application/dart
|
||||
language_id: 87
|
||||
DataWeave:
|
||||
type: programming
|
||||
color: "#003a52"
|
||||
extensions:
|
||||
- ".dwl"
|
||||
ace_mode: text
|
||||
tm_scope: source.data-weave
|
||||
language_id: 974514097
|
||||
Diff:
|
||||
type: data
|
||||
extensions:
|
||||
@@ -1074,8 +1128,7 @@ EQ:
|
||||
codemirror_mime_type: text/x-csharp
|
||||
language_id: 96
|
||||
Eagle:
|
||||
type: markup
|
||||
color: "#814C05"
|
||||
type: data
|
||||
extensions:
|
||||
- ".sch"
|
||||
- ".brd"
|
||||
@@ -1104,6 +1157,15 @@ Ecere Projects:
|
||||
codemirror_mode: javascript
|
||||
codemirror_mime_type: application/json
|
||||
language_id: 98
|
||||
Edje Data Collection:
|
||||
type: data
|
||||
extensions:
|
||||
- ".edc"
|
||||
tm_scope: source.json
|
||||
ace_mode: json
|
||||
codemirror_mode: javascript
|
||||
codemirror_mime_type: application/json
|
||||
language_id: 342840478
|
||||
Eiffel:
|
||||
type: programming
|
||||
color: "#946d57"
|
||||
@@ -1457,6 +1519,29 @@ Gentoo Eclass:
|
||||
codemirror_mode: shell
|
||||
codemirror_mime_type: text/x-sh
|
||||
language_id: 128
|
||||
Gerber Image:
|
||||
type: data
|
||||
aliases:
|
||||
- rs-274x
|
||||
extensions:
|
||||
- ".gbr"
|
||||
- ".gbl"
|
||||
- ".gbo"
|
||||
- ".gbp"
|
||||
- ".gbs"
|
||||
- ".gko"
|
||||
- ".gpb"
|
||||
- ".gpt"
|
||||
- ".gtl"
|
||||
- ".gto"
|
||||
- ".gtp"
|
||||
- ".gts"
|
||||
interpreters:
|
||||
- gerbv
|
||||
- gerbview
|
||||
tm_scope: source.gerber
|
||||
ace_mode: text
|
||||
language_id: 404627610
|
||||
Gettext Catalog:
|
||||
type: prose
|
||||
searchable: false
|
||||
@@ -1570,6 +1655,7 @@ GraphQL:
|
||||
type: data
|
||||
extensions:
|
||||
- ".graphql"
|
||||
- ".gql"
|
||||
tm_scope: source.graphql
|
||||
ace_mode: text
|
||||
language_id: 139
|
||||
@@ -1767,7 +1853,7 @@ Harbour:
|
||||
language_id: 156
|
||||
Haskell:
|
||||
type: programming
|
||||
color: "#29b544"
|
||||
color: "#5e5086"
|
||||
extensions:
|
||||
- ".hs"
|
||||
- ".hsc"
|
||||
@@ -1833,6 +1919,8 @@ INI:
|
||||
- ".prefs"
|
||||
- ".pro"
|
||||
- ".properties"
|
||||
filenames:
|
||||
- buildozer.spec
|
||||
tm_scope: source.ini
|
||||
aliases:
|
||||
- dosini
|
||||
@@ -1855,6 +1943,7 @@ IRC log:
|
||||
language_id: 164
|
||||
Idris:
|
||||
type: programming
|
||||
color: "#b30000"
|
||||
extensions:
|
||||
- ".idr"
|
||||
- ".lidr"
|
||||
@@ -2043,6 +2132,7 @@ JavaScript:
|
||||
- ".jsfl"
|
||||
- ".jsm"
|
||||
- ".jss"
|
||||
- ".mjs"
|
||||
- ".njs"
|
||||
- ".pac"
|
||||
- ".sjs"
|
||||
@@ -2114,15 +2204,37 @@ KRL:
|
||||
tm_scope: none
|
||||
ace_mode: text
|
||||
language_id: 186
|
||||
KiCad:
|
||||
type: programming
|
||||
KiCad Layout:
|
||||
type: data
|
||||
aliases:
|
||||
- pcbnew
|
||||
extensions:
|
||||
- ".kicad_pcb"
|
||||
- ".kicad_mod"
|
||||
- ".kicad_wks"
|
||||
filenames:
|
||||
- fp-lib-table
|
||||
tm_scope: source.pcb.sexp
|
||||
ace_mode: lisp
|
||||
codemirror_mode: commonlisp
|
||||
codemirror_mime_type: text/x-common-lisp
|
||||
language_id: 187
|
||||
KiCad Legacy Layout:
|
||||
type: data
|
||||
extensions:
|
||||
- ".brd"
|
||||
tm_scope: source.pcb.board
|
||||
ace_mode: text
|
||||
language_id: 140848857
|
||||
KiCad Schematic:
|
||||
type: data
|
||||
aliases:
|
||||
- eeschema schematic
|
||||
extensions:
|
||||
- ".sch"
|
||||
- ".brd"
|
||||
- ".kicad_pcb"
|
||||
tm_scope: none
|
||||
tm_scope: source.pcb.schematic
|
||||
ace_mode: text
|
||||
language_id: 187
|
||||
language_id: 622447435
|
||||
Kit:
|
||||
type: markup
|
||||
ace_mode: html
|
||||
@@ -2146,9 +2258,9 @@ Kotlin:
|
||||
language_id: 189
|
||||
LFE:
|
||||
type: programming
|
||||
color: "#4C3023"
|
||||
extensions:
|
||||
- ".lfe"
|
||||
group: Erlang
|
||||
tm_scope: source.lisp
|
||||
ace_mode: lisp
|
||||
codemirror_mode: commonlisp
|
||||
@@ -2557,7 +2669,7 @@ Mathematica:
|
||||
language_id: 224
|
||||
Matlab:
|
||||
type: programming
|
||||
color: "#bb92ac"
|
||||
color: "#e16737"
|
||||
aliases:
|
||||
- octave
|
||||
extensions:
|
||||
@@ -2684,6 +2796,7 @@ Monkey:
|
||||
type: programming
|
||||
extensions:
|
||||
- ".monkey"
|
||||
- ".monkey2"
|
||||
ace_mode: text
|
||||
tm_scope: source.monkey
|
||||
language_id: 236
|
||||
@@ -2733,6 +2846,15 @@ NSIS:
|
||||
codemirror_mode: nsis
|
||||
codemirror_mime_type: text/x-nsis
|
||||
language_id: 242
|
||||
Nearley:
|
||||
type: programming
|
||||
ace_mode: text
|
||||
color: "#990000"
|
||||
extensions:
|
||||
- ".ne"
|
||||
- ".nearley"
|
||||
tm_scope: source.ne
|
||||
language_id: 521429430
|
||||
Nemerle:
|
||||
type: programming
|
||||
color: "#3d3c6e"
|
||||
@@ -2784,7 +2906,7 @@ NewLisp:
|
||||
codemirror_mime_type: text/x-common-lisp
|
||||
language_id: 247
|
||||
Nginx:
|
||||
type: markup
|
||||
type: data
|
||||
extensions:
|
||||
- ".nginxconf"
|
||||
- ".vhost"
|
||||
@@ -2796,7 +2918,6 @@ Nginx:
|
||||
ace_mode: text
|
||||
codemirror_mode: nginx
|
||||
codemirror_mime_type: text/x-nginx-conf
|
||||
color: "#9469E9"
|
||||
language_id: 248
|
||||
Nim:
|
||||
type: programming
|
||||
@@ -2971,6 +3092,7 @@ OpenEdge ABL:
|
||||
extensions:
|
||||
- ".p"
|
||||
- ".cls"
|
||||
- ".w"
|
||||
tm_scope: source.abl
|
||||
ace_mode: text
|
||||
language_id: 264
|
||||
@@ -3214,7 +3336,6 @@ Perl:
|
||||
- ".ph"
|
||||
- ".plx"
|
||||
- ".pm"
|
||||
- ".pod"
|
||||
- ".psgi"
|
||||
- ".t"
|
||||
filenames:
|
||||
@@ -3300,6 +3421,8 @@ Pod:
|
||||
wrap: true
|
||||
extensions:
|
||||
- ".pod"
|
||||
interpreters:
|
||||
- perl
|
||||
tm_scope: none
|
||||
language_id: 288
|
||||
PogoScript:
|
||||
@@ -3317,12 +3440,21 @@ Pony:
|
||||
tm_scope: source.pony
|
||||
ace_mode: text
|
||||
language_id: 290
|
||||
PostCSS:
|
||||
type: markup
|
||||
tm_scope: source.postcss
|
||||
group: CSS
|
||||
extensions:
|
||||
- ".pcss"
|
||||
ace_mode: text
|
||||
language_id: 262764437
|
||||
PostScript:
|
||||
type: markup
|
||||
color: "#da291c"
|
||||
extensions:
|
||||
- ".ps"
|
||||
- ".eps"
|
||||
- ".pfa"
|
||||
tm_scope: source.postscript
|
||||
aliases:
|
||||
- postscr
|
||||
@@ -3382,7 +3514,7 @@ Propeller Spin:
|
||||
ace_mode: text
|
||||
language_id: 296
|
||||
Protocol Buffer:
|
||||
type: markup
|
||||
type: data
|
||||
aliases:
|
||||
- protobuf
|
||||
- Protocol Buffers
|
||||
@@ -3427,8 +3559,7 @@ Puppet:
|
||||
tm_scope: source.puppet
|
||||
language_id: 299
|
||||
Pure Data:
|
||||
type: programming
|
||||
color: "#91de79"
|
||||
type: data
|
||||
extensions:
|
||||
- ".pd"
|
||||
tm_scope: none
|
||||
@@ -3482,6 +3613,7 @@ Python:
|
||||
- ".gclient"
|
||||
- BUCK
|
||||
- BUILD
|
||||
- BUILD.bazel
|
||||
- SConscript
|
||||
- SConstruct
|
||||
- Snakefile
|
||||
@@ -3752,10 +3884,10 @@ Ring:
|
||||
type: programming
|
||||
color: "#0e60e3"
|
||||
extensions:
|
||||
- .ring
|
||||
- ".ring"
|
||||
tm_scope: source.ring
|
||||
ace_mode: text
|
||||
language_id: 431
|
||||
language_id: 431
|
||||
RobotFramework:
|
||||
type: programming
|
||||
extensions:
|
||||
@@ -4056,6 +4188,7 @@ Scheme:
|
||||
color: "#1e4aec"
|
||||
extensions:
|
||||
- ".scm"
|
||||
- ".sch"
|
||||
- ".sld"
|
||||
- ".sls"
|
||||
- ".sps"
|
||||
@@ -4302,6 +4435,14 @@ Sublime Text Config:
|
||||
- ".sublime_metrics"
|
||||
- ".sublime_session"
|
||||
language_id: 423
|
||||
SugarSS:
|
||||
type: markup
|
||||
tm_scope: source.css.postcss.sugarss
|
||||
group: CSS
|
||||
extensions:
|
||||
- ".sss"
|
||||
ace_mode: text
|
||||
language_id: 826404698
|
||||
SuperCollider:
|
||||
type: programming
|
||||
color: "#46390b"
|
||||
@@ -4599,8 +4740,8 @@ UrWeb:
|
||||
ace_mode: text
|
||||
language_id: 383
|
||||
VCL:
|
||||
group: Perl
|
||||
type: programming
|
||||
color: "#0298c3"
|
||||
extensions:
|
||||
- ".vcl"
|
||||
tm_scope: source.varnish.vcl
|
||||
@@ -4712,8 +4853,7 @@ Wavefront Object:
|
||||
ace_mode: text
|
||||
language_id: 393
|
||||
Web Ontology Language:
|
||||
type: markup
|
||||
color: "#9cc9dd"
|
||||
type: data
|
||||
extensions:
|
||||
- ".owl"
|
||||
tm_scope: text.xml
|
||||
@@ -4794,12 +4934,16 @@ XML:
|
||||
- ".ant"
|
||||
- ".axml"
|
||||
- ".builds"
|
||||
- ".ccproj"
|
||||
- ".ccxml"
|
||||
- ".clixml"
|
||||
- ".cproject"
|
||||
- ".cscfg"
|
||||
- ".csdef"
|
||||
- ".csl"
|
||||
- ".csproj"
|
||||
- ".ct"
|
||||
- ".depproj"
|
||||
- ".dita"
|
||||
- ".ditamap"
|
||||
- ".ditaval"
|
||||
@@ -4822,6 +4966,8 @@ XML:
|
||||
- ".mm"
|
||||
- ".mod"
|
||||
- ".mxml"
|
||||
- ".natvis"
|
||||
- ".ndproj"
|
||||
- ".nproj"
|
||||
- ".nuspec"
|
||||
- ".odd"
|
||||
@@ -4829,6 +4975,7 @@ XML:
|
||||
- ".pkgproj"
|
||||
- ".plist"
|
||||
- ".pluginspec"
|
||||
- ".proj"
|
||||
- ".props"
|
||||
- ".ps1xml"
|
||||
- ".psc1"
|
||||
@@ -4839,6 +4986,7 @@ XML:
|
||||
- ".sch"
|
||||
- ".scxml"
|
||||
- ".sfproj"
|
||||
- ".shproj"
|
||||
- ".srdf"
|
||||
- ".storyboard"
|
||||
- ".stTheme"
|
||||
@@ -4891,12 +5039,20 @@ XML:
|
||||
- Web.config
|
||||
- packages.config
|
||||
language_id: 399
|
||||
XPM:
|
||||
type: data
|
||||
extensions:
|
||||
- ".xpm"
|
||||
- ".pm"
|
||||
ace_mode: c_cpp
|
||||
tm_scope: source.c
|
||||
language_id: 781846279
|
||||
XPages:
|
||||
type: programming
|
||||
type: data
|
||||
extensions:
|
||||
- ".xsp-config"
|
||||
- ".xsp.metadata"
|
||||
tm_scope: none
|
||||
tm_scope: text.xml
|
||||
ace_mode: xml
|
||||
codemirror_mode: xml
|
||||
codemirror_mime_type: text/xml
|
||||
@@ -4981,6 +5137,7 @@ YAML:
|
||||
- ".yml.mysql"
|
||||
filenames:
|
||||
- ".clang-format"
|
||||
- ".clang-tidy"
|
||||
ace_mode: yaml
|
||||
codemirror_mode: yaml
|
||||
codemirror_mime_type: text/x-yaml
|
||||
@@ -4992,6 +5149,14 @@ YANG:
|
||||
tm_scope: source.yang
|
||||
ace_mode: text
|
||||
language_id: 408
|
||||
YARA:
|
||||
type: data
|
||||
ace_mode: text
|
||||
extensions:
|
||||
- ".yar"
|
||||
- ".yara"
|
||||
tm_scope: source.yara
|
||||
language_id: 805122868
|
||||
Yacc:
|
||||
type: programming
|
||||
extensions:
|
||||
@@ -5090,6 +5255,14 @@ reStructuredText:
|
||||
codemirror_mode: rst
|
||||
codemirror_mime_type: text/x-rst
|
||||
language_id: 419
|
||||
wdl:
|
||||
type: programming
|
||||
color: "#42f1f4"
|
||||
extensions:
|
||||
- ".wdl"
|
||||
tm_scope: source.wdl
|
||||
ace_mode: text
|
||||
language_id: 374521672
|
||||
wisp:
|
||||
type: programming
|
||||
ace_mode: clojure
|
||||
|
||||
@@ -109,8 +109,8 @@ module Linguist
|
||||
# Returns an Array with one Language if the blob has a Vim or Emacs modeline
|
||||
# that matches a Language name or alias. Returns an empty array if no match.
|
||||
def self.call(blob, _ = nil)
|
||||
header = blob.lines.first(SEARCH_SCOPE).join("\n")
|
||||
footer = blob.lines.last(SEARCH_SCOPE).join("\n")
|
||||
header = blob.first_lines(SEARCH_SCOPE).join("\n")
|
||||
footer = blob.last_lines(SEARCH_SCOPE).join("\n")
|
||||
Array(Language.find_by_alias(modeline(header + footer)))
|
||||
end
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
require 'strscan'
|
||||
require 'linguist/linguist'
|
||||
|
||||
module Linguist
|
||||
# Generic programming language tokenizer.
|
||||
@@ -15,191 +16,5 @@ module Linguist
|
||||
def self.tokenize(data)
|
||||
new.extract_tokens(data)
|
||||
end
|
||||
|
||||
# Read up to 100KB
|
||||
BYTE_LIMIT = 100_000
|
||||
|
||||
# Start state on token, ignore anything till the next newline
|
||||
SINGLE_LINE_COMMENTS = [
|
||||
'//', # C
|
||||
'--', # Ada, Haskell, AppleScript
|
||||
'#', # Ruby
|
||||
'%', # Tex
|
||||
'"', # Vim
|
||||
]
|
||||
|
||||
# Start state on opening token, ignore anything until the closing
|
||||
# token is reached.
|
||||
MULTI_LINE_COMMENTS = [
|
||||
['/*', '*/'], # C
|
||||
['<!--', '-->'], # XML
|
||||
['{-', '-}'], # Haskell
|
||||
['(*', '*)'], # Coq
|
||||
['"""', '"""'], # Python
|
||||
["'''", "'''"] # Python
|
||||
]
|
||||
|
||||
START_SINGLE_LINE_COMMENT = Regexp.compile(SINGLE_LINE_COMMENTS.map { |c|
|
||||
"\s*#{Regexp.escape(c)} "
|
||||
}.join("|"))
|
||||
|
||||
START_MULTI_LINE_COMMENT = Regexp.compile(MULTI_LINE_COMMENTS.map { |c|
|
||||
Regexp.escape(c[0])
|
||||
}.join("|"))
|
||||
|
||||
# Internal: Extract generic tokens from data.
|
||||
#
|
||||
# data - String to scan.
|
||||
#
|
||||
# Examples
|
||||
#
|
||||
# extract_tokens("printf('Hello')")
|
||||
# # => ['printf', '(', ')']
|
||||
#
|
||||
# Returns Array of token Strings.
|
||||
def extract_tokens(data)
|
||||
s = StringScanner.new(data)
|
||||
|
||||
tokens = []
|
||||
until s.eos?
|
||||
break if s.pos >= BYTE_LIMIT
|
||||
|
||||
if token = s.scan(/^#!.+$/)
|
||||
if name = extract_shebang(token)
|
||||
tokens << "SHEBANG#!#{name}"
|
||||
end
|
||||
|
||||
# Single line comment
|
||||
elsif s.beginning_of_line? && token = s.scan(START_SINGLE_LINE_COMMENT)
|
||||
# tokens << token.strip
|
||||
s.skip_until(/\n|\Z/)
|
||||
|
||||
# Multiline comments
|
||||
elsif token = s.scan(START_MULTI_LINE_COMMENT)
|
||||
# tokens << token
|
||||
close_token = MULTI_LINE_COMMENTS.assoc(token)[1]
|
||||
s.skip_until(Regexp.compile(Regexp.escape(close_token)))
|
||||
# tokens << close_token
|
||||
|
||||
# Skip single or double quoted strings
|
||||
elsif s.scan(/"/)
|
||||
if s.peek(1) == "\""
|
||||
s.getch
|
||||
else
|
||||
s.skip_until(/(?<!\\)"/)
|
||||
end
|
||||
elsif s.scan(/'/)
|
||||
if s.peek(1) == "'"
|
||||
s.getch
|
||||
else
|
||||
s.skip_until(/(?<!\\)'/)
|
||||
end
|
||||
|
||||
# Skip number literals
|
||||
elsif s.scan(/(0x\h(\h|\.)*|\d(\d|\.)*)([uU][lL]{0,2}|([eE][-+]\d*)?[fFlL]*)/)
|
||||
|
||||
# SGML style brackets
|
||||
elsif token = s.scan(/<[^\s<>][^<>]*>/)
|
||||
extract_sgml_tokens(token).each { |t| tokens << t }
|
||||
|
||||
# Common programming punctuation
|
||||
elsif token = s.scan(/;|\{|\}|\(|\)|\[|\]/)
|
||||
tokens << token
|
||||
|
||||
# Regular token
|
||||
elsif token = s.scan(/[\w\.@#\/\*]+/)
|
||||
tokens << token
|
||||
|
||||
# Common operators
|
||||
elsif token = s.scan(/<<?|\+|\-|\*|\/|%|&&?|\|\|?/)
|
||||
tokens << token
|
||||
|
||||
else
|
||||
s.getch
|
||||
end
|
||||
end
|
||||
|
||||
tokens
|
||||
end
|
||||
|
||||
# Internal: Extract normalized shebang command token.
|
||||
#
|
||||
# Examples
|
||||
#
|
||||
# extract_shebang("#!/usr/bin/ruby")
|
||||
# # => "ruby"
|
||||
#
|
||||
# extract_shebang("#!/usr/bin/env node")
|
||||
# # => "node"
|
||||
#
|
||||
# extract_shebang("#!/usr/bin/env A=B foo=bar awk -f")
|
||||
# # => "awk"
|
||||
#
|
||||
# Returns String token or nil it couldn't be parsed.
|
||||
def extract_shebang(data)
|
||||
s = StringScanner.new(data)
|
||||
|
||||
if path = s.scan(/^#!\s*\S+/)
|
||||
script = path.split('/').last
|
||||
if script == 'env'
|
||||
s.scan(/\s+/)
|
||||
s.scan(/.*=[^\s]+\s+/)
|
||||
script = s.scan(/\S+/)
|
||||
end
|
||||
script = script[/[^\d]+/, 0] if script
|
||||
return script
|
||||
end
|
||||
|
||||
nil
|
||||
end
|
||||
|
||||
# Internal: Extract tokens from inside SGML tag.
|
||||
#
|
||||
# data - SGML tag String.
|
||||
#
|
||||
# Examples
|
||||
#
|
||||
# extract_sgml_tokens("<a href='' class=foo>")
|
||||
# # => ["<a>", "href="]
|
||||
#
|
||||
# Returns Array of token Strings.
|
||||
def extract_sgml_tokens(data)
|
||||
s = StringScanner.new(data)
|
||||
|
||||
tokens = []
|
||||
|
||||
until s.eos?
|
||||
# Emit start token
|
||||
if token = s.scan(/<\/?[^\s>]+/)
|
||||
tokens << "#{token}>"
|
||||
|
||||
# Emit attributes with trailing =
|
||||
elsif token = s.scan(/\w+=/)
|
||||
tokens << token
|
||||
|
||||
# Then skip over attribute value
|
||||
if s.scan(/"/)
|
||||
s.skip_until(/[^\\]"/)
|
||||
elsif s.scan(/'/)
|
||||
s.skip_until(/[^\\]'/)
|
||||
else
|
||||
s.skip_until(/\w+/)
|
||||
end
|
||||
|
||||
# Emit lone attributes
|
||||
elsif token = s.scan(/\w+/)
|
||||
tokens << token
|
||||
|
||||
# Stop at the end of the tag
|
||||
elsif s.scan(/>/)
|
||||
s.terminate
|
||||
|
||||
else
|
||||
s.getch
|
||||
end
|
||||
end
|
||||
|
||||
tokens
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -19,9 +19,7 @@
|
||||
- (^|/)dist/
|
||||
|
||||
# C deps
|
||||
# https://github.com/joyent/node
|
||||
- ^deps/
|
||||
- ^tools/
|
||||
- (^|/)configure$
|
||||
- (^|/)config.guess$
|
||||
- (^|/)config.sub$
|
||||
@@ -65,6 +63,7 @@
|
||||
|
||||
# Font Awesome
|
||||
- (^|/)font-awesome\.(css|less|scss|styl)$
|
||||
- (^|/)font-awesome/.*\.(css|less|scss|styl)$
|
||||
|
||||
# Foundation css
|
||||
- (^|/)foundation\.(css|less|scss|styl)$
|
||||
@@ -81,6 +80,9 @@
|
||||
# Animate.css
|
||||
- (^|/)animate\.(css|less|scss|styl)$
|
||||
|
||||
# Select2
|
||||
- (^|/)select2/.*\.(css|scss|js)$
|
||||
|
||||
# Vendored dependencies
|
||||
- third[-_]?party/
|
||||
- 3rd[-_]?party/
|
||||
@@ -119,6 +121,15 @@
|
||||
# jQuery File Upload
|
||||
- (^|/)jquery\.fileupload(-\w+)?\.js$
|
||||
|
||||
# jQuery dataTables
|
||||
- jquery.dataTables.js
|
||||
|
||||
# bootboxjs
|
||||
- bootbox.js
|
||||
|
||||
# pdf-worker
|
||||
- pdf.worker.js
|
||||
|
||||
# Slick
|
||||
- (^|/)slick\.\w+.js$
|
||||
|
||||
@@ -135,6 +146,9 @@
|
||||
- .sublime-project
|
||||
- .sublime-workspace
|
||||
|
||||
# VS Code workspace files
|
||||
- .vscode
|
||||
|
||||
# Prototype
|
||||
- (^|/)prototype(.*)\.js$
|
||||
- (^|/)effects\.js$
|
||||
@@ -191,6 +205,9 @@
|
||||
# React
|
||||
- (^|/)react(-[^.]*)?\.js$
|
||||
|
||||
# flow-typed
|
||||
- (^|/)flow-typed/.*\.js$
|
||||
|
||||
# Modernizr
|
||||
- (^|/)modernizr\-\d\.\d+(\.\d+)?\.js$
|
||||
- (^|/)modernizr\.custom\.\d+\.js$
|
||||
@@ -224,10 +241,7 @@
|
||||
- \.imageset/
|
||||
|
||||
# Carthage
|
||||
- ^Carthage/
|
||||
|
||||
# Cocoapods
|
||||
- ^Pods/
|
||||
- (^|/)Carthage/
|
||||
|
||||
# Sparkle
|
||||
- (^|/)Sparkle/
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module Linguist
|
||||
VERSION = "5.1.0"
|
||||
VERSION = "5.3.3"
|
||||
end
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"repository": "https://github.com/github/linguist",
|
||||
"dependencies": {
|
||||
"season": "~>5.4"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
||||
35
samples/ActionScript/FooBar.as
Normal file
35
samples/ActionScript/FooBar.as
Normal file
@@ -0,0 +1,35 @@
|
||||
// A sample for Actionscript.
|
||||
|
||||
package foobar
|
||||
{
|
||||
import flash.display.MovieClip;
|
||||
|
||||
class Bar
|
||||
{
|
||||
public function getNumber():Number
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
}
|
||||
|
||||
class Foo extends Bar
|
||||
{
|
||||
private var ourNumber:Number = 25;
|
||||
|
||||
override public function getNumber():Number
|
||||
{
|
||||
return ourNumber;
|
||||
}
|
||||
}
|
||||
|
||||
class Main extends MovieClip
|
||||
{
|
||||
public function Main()
|
||||
{
|
||||
var x:Bar = new Bar();
|
||||
var y:Foo = new Foo();
|
||||
trace(x.getNumber());
|
||||
trace(y.getNumber());
|
||||
}
|
||||
}
|
||||
}
|
||||
13
samples/ActionScript/HelloWorld.as
Normal file
13
samples/ActionScript/HelloWorld.as
Normal file
@@ -0,0 +1,13 @@
|
||||
package mypackage
|
||||
{
|
||||
public class Hello
|
||||
{
|
||||
/* Let's say hello!
|
||||
* This is just a test script for Linguist's Actionscript detection.
|
||||
*/
|
||||
public function sayHello():void
|
||||
{
|
||||
trace("Hello, world");
|
||||
}
|
||||
}
|
||||
}
|
||||
69
samples/Adobe Font Metrics/OpenSansCondensed-Bold.afm
Normal file
69
samples/Adobe Font Metrics/OpenSansCondensed-Bold.afm
Normal file
@@ -0,0 +1,69 @@
|
||||
StartFontMetrics 2.0
|
||||
Comment Generated by FontForge 20170719
|
||||
Comment Creation Date: Sun Jul 23 19:47:25 2017
|
||||
FontName OpenSansCondensed-Bold
|
||||
FullName Open Sans Condensed Bold
|
||||
FamilyName Open Sans Condensed
|
||||
Weight Bold
|
||||
Notice (Digitized data copyright (c) 2010-2011, Google Corporation.)
|
||||
ItalicAngle 0
|
||||
IsFixedPitch false
|
||||
UnderlinePosition -205
|
||||
UnderlineThickness 102
|
||||
Version 1.11
|
||||
EncodingScheme ISO10646-1
|
||||
FontBBox -667 -290 1046 1062
|
||||
CapHeight 714
|
||||
XHeight 544
|
||||
Ascender 760
|
||||
Descender -240
|
||||
StartCharMetrics 939
|
||||
C 32 ; WX 247 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 270 ; N exclam ; B 54 -14 216 714 ;
|
||||
C 34 ; WX 445 ; N quotedbl ; B 59 456 388 714 ;
|
||||
C 35 ; WX 543 ; N numbersign ; B 20 0 525 714 ;
|
||||
C 36 ; WX 462 ; N dollar ; B 36 -59 427 760 ;
|
||||
C 37 ; WX 758 ; N percent ; B 30 -9 729 725 ;
|
||||
C 38 ; WX 581 ; N ampersand ; B 28 -10 572 725 ;
|
||||
C 39 ; WX 246 ; N quotesingle ; B 59 456 188 714 ;
|
||||
C -1 ; WX 462 ; N six.os ; B 36 -10 427 724 ;
|
||||
C -1 ; WX 420 ; N seven.os ; B 19 -170 402 544 ;
|
||||
C -1 ; WX 462 ; N eight.os ; B 35 -10 429 724 ;
|
||||
C -1 ; WX 461 ; N nine.os ; B 33 -182 424 564 ;
|
||||
C -1 ; WX 496 ; N g.alt ; B 36 -241 442 555 ;
|
||||
C -1 ; WX 496 ; N gcircumflex.alt ; B 36 -241 442 767 ;
|
||||
C -1 ; WX 496 ; N gbreve.alt ; B 36 -241 442 766 ;
|
||||
C -1 ; WX 496 ; N gdot.alt ; B 36 -241 442 756 ;
|
||||
C -1 ; WX 496 ; N gcommaaccent.alt ; B 36 -241 442 767 ;
|
||||
C -1 ; WX 0 ; N cyrotmarkcomb ; B -203 591 203 714 ;
|
||||
EndCharMetrics
|
||||
StartKernData
|
||||
StartKernPairs 15878
|
||||
KPX quotedbl uni1ECA 20
|
||||
KPX quotedbl uni1EC8 20
|
||||
KPX quotedbl Idotaccent 20
|
||||
KPX quotedbl Iogonek 20
|
||||
KPX quotedbl Imacron 20
|
||||
KPX quotedbl Idieresis 20
|
||||
KPX quotedbl Icircumflex 20
|
||||
KPX quotedbl Iacute 20
|
||||
KPX quotedbl Igrave 20
|
||||
KPX quotedbl I 20
|
||||
KPX quotedbl uni1EF9 20
|
||||
KPX quoteleft q -20
|
||||
KPX quoteleft o -20
|
||||
KPX quoteleft g -9
|
||||
KPX quoteleft e -20
|
||||
KPX quoteleft d -20
|
||||
KPX quoteleft c -20
|
||||
KPX quoteleft Z 20
|
||||
KPX Delta C -9
|
||||
KPX Delta A -20
|
||||
KPX Delta question 20
|
||||
KPX Delta period -41
|
||||
KPX Delta comma -41
|
||||
KPX Delta quotesingle 41
|
||||
KPX Delta quotedbl 41
|
||||
EndKernPairs
|
||||
EndKernData
|
||||
EndFontMetrics
|
||||
464
samples/Adobe Font Metrics/SpecialElite.afm
Normal file
464
samples/Adobe Font Metrics/SpecialElite.afm
Normal file
@@ -0,0 +1,464 @@
|
||||
StartFontMetrics 2.0
|
||||
Comment Generated by FontForge 20170719
|
||||
Comment Creation Date: Sun Jul 23 19:52:19 2017
|
||||
FontName SpecialElite-Regular
|
||||
FullName Special Elite
|
||||
FamilyName Special Elite
|
||||
Weight Book
|
||||
Notice (Copyright (c) 2010 by Brian J. Bonislawsky DBA Astigmatic (AOETI). All rights reserved. Available under the Apache 2.0 licence.http://www.apache.org/licenses/LICENSE-2.0.html)
|
||||
ItalicAngle 0
|
||||
IsFixedPitch false
|
||||
UnderlinePosition -133
|
||||
UnderlineThickness 20
|
||||
Version 1.000
|
||||
EncodingScheme ISO10646-1
|
||||
FontBBox -33 -322 1052 959
|
||||
CapHeight 714
|
||||
XHeight 487
|
||||
Ascender 688
|
||||
Descender -225
|
||||
StartCharMetrics 371
|
||||
C 32 ; WX 292 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 276 ; N exclam ; B 73 0 207 702 ;
|
||||
C 34 ; WX 352 ; N quotedbl ; B 48 449 295 704 ;
|
||||
C 35 ; WX 554 ; N numbersign ; B 31 -2 524 713 ;
|
||||
C 36 ; WX 526 ; N dollar ; B 31 -201 498 919 ;
|
||||
C 37 ; WX 666 ; N percent ; B 32 -186 642 872 ;
|
||||
C 38 ; WX 676 ; N ampersand ; B 31 -5 645 705 ;
|
||||
C 39 ; WX 196 ; N quotesingle ; B 48 449 143 703 ;
|
||||
C 40 ; WX 279 ; N parenleft ; B 55 -71 243 757 ;
|
||||
C 41 ; WX 281 ; N parenright ; B 37 -59 229 770 ;
|
||||
C 42 ; WX 522 ; N asterisk ; B 32 276 493 707 ;
|
||||
C 43 ; WX 496 ; N plus ; B 29 131 465 560 ;
|
||||
C 44 ; WX 336 ; N comma ; B 39 -197 290 251 ;
|
||||
C 45 ; WX 636 ; N hyphen ; B 63 273 573 397 ;
|
||||
C 46 ; WX 349 ; N period ; B 52 -3 298 245 ;
|
||||
C 47 ; WX 557 ; N slash ; B 23 -41 536 760 ;
|
||||
C 48 ; WX 610 ; N zero ; B 55 0 560 720 ;
|
||||
C 49 ; WX 569 ; N one ; B 27 -12 572 712 ;
|
||||
C 50 ; WX 573 ; N two ; B 50 -25 541 680 ;
|
||||
C 51 ; WX 557 ; N three ; B 44 -25 514 694 ;
|
||||
C 52 ; WX 612 ; N four ; B 15 4 584 708 ;
|
||||
C 53 ; WX 537 ; N five ; B 47 0 505 690 ;
|
||||
C 54 ; WX 588 ; N six ; B 48 -10 548 707 ;
|
||||
C 55 ; WX 555 ; N seven ; B 15 -34 549 734 ;
|
||||
C 56 ; WX 598 ; N eight ; B 51 1 551 720 ;
|
||||
C 57 ; WX 584 ; N nine ; B 48 -2 539 715 ;
|
||||
C 58 ; WX 343 ; N colon ; B 51 -3 297 518 ;
|
||||
C 59 ; WX 328 ; N semicolon ; B 45 -197 297 518 ;
|
||||
C 60 ; WX 463 ; N less ; B 31 120 401 565 ;
|
||||
C 61 ; WX 636 ; N equal ; B 63 186 573 513 ;
|
||||
C 62 ; WX 463 ; N greater ; B 62 120 433 565 ;
|
||||
C 63 ; WX 470 ; N question ; B 34 2 442 729 ;
|
||||
C 64 ; WX 665 ; N at ; B 46 -4 618 680 ;
|
||||
C 65 ; WX 549 ; N A ; B -1 -16 550 703 ;
|
||||
C 66 ; WX 604 ; N B ; B 29 -6 557 704 ;
|
||||
C 67 ; WX 579 ; N C ; B 46 -13 531 700 ;
|
||||
C 68 ; WX 622 ; N D ; B 36 -17 579 713 ;
|
||||
C 69 ; WX 638 ; N E ; B 38 -16 587 691 ;
|
||||
C 70 ; WX 605 ; N F ; B 29 -9 595 709 ;
|
||||
C 71 ; WX 615 ; N G ; B 45 -3 586 710 ;
|
||||
C 72 ; WX 652 ; N H ; B 40 -20 622 690 ;
|
||||
C 73 ; WX 495 ; N I ; B 26 -24 469 710 ;
|
||||
C 74 ; WX 541 ; N J ; B 16 -3 539 703 ;
|
||||
C 75 ; WX 582 ; N K ; B 28 -5 584 711 ;
|
||||
C 76 ; WX 602 ; N L ; B 23 -14 583 718 ;
|
||||
C 77 ; WX 697 ; N M ; B 46 -10 655 704 ;
|
||||
C 78 ; WX 627 ; N N ; B 41 -15 595 700 ;
|
||||
C 79 ; WX 616 ; N O ; B 42 -30 574 702 ;
|
||||
C 80 ; WX 553 ; N P ; B 30 -12 527 689 ;
|
||||
C 81 ; WX 602 ; N Q ; B 42 -98 571 711 ;
|
||||
C 82 ; WX 636 ; N R ; B 14 -9 624 706 ;
|
||||
C 83 ; WX 588 ; N S ; B 51 -13 547 690 ;
|
||||
C 84 ; WX 594 ; N T ; B 25 1 564 707 ;
|
||||
C 85 ; WX 621 ; N U ; B 24 -6 611 710 ;
|
||||
C 86 ; WX 611 ; N V ; B -1 -15 614 726 ;
|
||||
C 87 ; WX 643 ; N W ; B 8 0 614 689 ;
|
||||
C 88 ; WX 582 ; N X ; B 3 -1 580 697 ;
|
||||
C 89 ; WX 561 ; N Y ; B -21 -2 562 719 ;
|
||||
C 90 ; WX 592 ; N Z ; B 49 -1 551 709 ;
|
||||
C 91 ; WX 312 ; N bracketleft ; B 85 -72 297 754 ;
|
||||
C 92 ; WX 557 ; N backslash ; B 21 -41 534 760 ;
|
||||
C 249 ; WX 639 ; N ugrave ; B 5 -28 624 679 ;
|
||||
C 250 ; WX 639 ; N uacute ; B 5 -28 624 682 ;
|
||||
C 251 ; WX 639 ; N ucircumflex ; B 5 -28 624 691 ;
|
||||
C 252 ; WX 639 ; N udieresis ; B 5 -28 624 649 ;
|
||||
C 253 ; WX 592 ; N yacute ; B 0 -232 596 666 ;
|
||||
C 254 ; WX 552 ; N thorn ; B -33 -221 512 699 ;
|
||||
C 255 ; WX 592 ; N ydieresis ; B 0 -232 596 643 ;
|
||||
C -1 ; WX 549 ; N Amacron ; B -1 -16 550 809 ;
|
||||
C -1 ; WX 565 ; N amacron ; B 38 -6 561 619 ;
|
||||
C -1 ; WX 549 ; N Abreve ; B -1 -16 550 890 ;
|
||||
C -1 ; WX 565 ; N abreve ; B 38 -6 561 686 ;
|
||||
C -1 ; WX 549 ; N Aogonek ; B -1 -138 589 703 ;
|
||||
C -1 ; WX 565 ; N aogonek ; B 38 -118 624 502 ;
|
||||
C -1 ; WX 579 ; N Cacute ; B 46 -13 531 900 ;
|
||||
C -1 ; WX 547 ; N cacute ; B 39 -22 506 693 ;
|
||||
C -1 ; WX 579 ; N Ccircumflex ; B 46 -13 531 890 ;
|
||||
C -1 ; WX 547 ; N ccircumflex ; B 39 -22 506 689 ;
|
||||
C -1 ; WX 579 ; N Cdotaccent ; B 46 -13 531 859 ;
|
||||
C -1 ; WX 547 ; N cdotaccent ; B 39 -22 506 657 ;
|
||||
C -1 ; WX 579 ; N Ccaron ; B 46 -13 531 918 ;
|
||||
C -1 ; WX 547 ; N ccaron ; B 39 -22 506 710 ;
|
||||
C -1 ; WX 622 ; N Dcaron ; B 36 -17 579 924 ;
|
||||
C -1 ; WX 750 ; N dcaron ; B 40 -26 716 704 ;
|
||||
C -1 ; WX 623 ; N Dcroat ; B 36 -17 580 713 ;
|
||||
C -1 ; WX 603 ; N dcroat ; B 40 -26 597 714 ;
|
||||
C -1 ; WX 638 ; N Emacron ; B 38 -16 587 798 ;
|
||||
C -1 ; WX 543 ; N emacron ; B 40 -23 501 616 ;
|
||||
C -1 ; WX 638 ; N Ebreve ; B 38 -16 587 876 ;
|
||||
C -1 ; WX 543 ; N ebreve ; B 40 -23 501 683 ;
|
||||
C -1 ; WX 638 ; N Edotaccent ; B 38 -16 587 848 ;
|
||||
C -1 ; WX 543 ; N edotaccent ; B 40 -23 501 659 ;
|
||||
C -1 ; WX 638 ; N Eogonek ; B 38 -113 610 691 ;
|
||||
C -1 ; WX 543 ; N eogonek ; B 40 -145 501 499 ;
|
||||
C -1 ; WX 638 ; N Ecaron ; B 38 -16 587 913 ;
|
||||
C -1 ; WX 543 ; N ecaron ; B 40 -23 501 714 ;
|
||||
C -1 ; WX 615 ; N Gcircumflex ; B 45 -3 586 906 ;
|
||||
C -1 ; WX 583 ; N gcircumflex ; B 42 -224 562 676 ;
|
||||
C -1 ; WX 615 ; N Gbreve ; B 45 -3 586 899 ;
|
||||
C -1 ; WX 583 ; N gbreve ; B 42 -224 562 667 ;
|
||||
C -1 ; WX 615 ; N Gdotaccent ; B 45 -3 586 871 ;
|
||||
C -1 ; WX 583 ; N gdotaccent ; B 42 -224 562 637 ;
|
||||
C -1 ; WX 615 ; N Gcommaaccent ; B 45 -253 586 710 ;
|
||||
C -1 ; WX 583 ; N gcommaaccent ; B 42 -224 562 734 ;
|
||||
C -1 ; WX 652 ; N Hcircumflex ; B 40 -20 622 897 ;
|
||||
C -1 ; WX 616 ; N hcircumflex ; B 5 -29 601 688 ;
|
||||
C -1 ; WX 652 ; N Hbar ; B 40 -20 622 690 ;
|
||||
C -1 ; WX 616 ; N hbar ; B 5 -29 601 683 ;
|
||||
C -1 ; WX 495 ; N Itilde ; B 26 -24 469 859 ;
|
||||
C -1 ; WX 568 ; N itilde ; B 36 -42 568 615 ;
|
||||
C -1 ; WX 495 ; N Imacron ; B 26 -24 469 819 ;
|
||||
C -1 ; WX 568 ; N imacron ; B 36 -42 568 585 ;
|
||||
C -1 ; WX 495 ; N Ibreve ; B 26 -24 469 901 ;
|
||||
C -1 ; WX 568 ; N ibreve ; B 36 -42 568 661 ;
|
||||
C -1 ; WX 495 ; N Iogonek ; B 26 -154 469 710 ;
|
||||
C -1 ; WX 568 ; N iogonek ; B 36 -149 568 674 ;
|
||||
C -1 ; WX 495 ; N Idotaccent ; B 26 -24 469 873 ;
|
||||
C -1 ; WX 568 ; N dotlessi ; B 36 -42 568 468 ;
|
||||
C -1 ; WX 1036 ; N IJ ; B 26 -24 1034 710 ;
|
||||
C -1 ; WX 983 ; N ij ; B 36 -236 913 683 ;
|
||||
C -1 ; WX 541 ; N Jcircumflex ; B 16 -3 539 913 ;
|
||||
C -1 ; WX 415 ; N jcircumflex ; B -12 -236 405 699 ;
|
||||
C -1 ; WX 582 ; N Kcommaaccent ; B 28 -253 584 711 ;
|
||||
C -1 ; WX 620 ; N kcommaaccent ; B 11 -253 600 683 ;
|
||||
C -1 ; WX 620 ; N kgreenlandic ; B 11 -28 600 482 ;
|
||||
C -1 ; WX 602 ; N Lacute ; B 23 -14 583 923 ;
|
||||
C -1 ; WX 540 ; N lacute ; B 4 -28 538 902 ;
|
||||
C -1 ; WX 602 ; N Lcommaaccent ; B 23 -267 583 718 ;
|
||||
C -1 ; WX 540 ; N lcommaaccent ; B 4 -267 538 682 ;
|
||||
C -1 ; WX 602 ; N Lcaron ; B 23 -14 583 794 ;
|
||||
C -1 ; WX 582 ; N lcaron ; B 4 -28 549 704 ;
|
||||
C -1 ; WX 781 ; N Ldot ; B 23 -14 748 718 ;
|
||||
C -1 ; WX 571 ; N ldotaccent ; B 4 -28 538 682 ;
|
||||
C -1 ; WX 603 ; N Lslash ; B 24 -14 584 718 ;
|
||||
C -1 ; WX 541 ; N lslash ; B 4 -28 538 682 ;
|
||||
C -1 ; WX 627 ; N Nacute ; B 41 -15 595 894 ;
|
||||
C -1 ; WX 632 ; N nacute ; B 32 -23 612 696 ;
|
||||
C -1 ; WX 627 ; N Ncommaaccent ; B 41 -268 595 700 ;
|
||||
C -1 ; WX 632 ; N ncommaaccent ; B 32 -268 612 491 ;
|
||||
C -1 ; WX 627 ; N Ncaron ; B 41 -15 595 900 ;
|
||||
C -1 ; WX 632 ; N ncaron ; B 32 -23 612 712 ;
|
||||
C -1 ; WX 815 ; N napostrophe ; B 34 -23 795 704 ;
|
||||
C -1 ; WX 627 ; N Eng ; B 41 -320 595 700 ;
|
||||
C -1 ; WX 605 ; N eng ; B 32 -322 534 491 ;
|
||||
C -1 ; WX 616 ; N Omacron ; B 42 -30 574 815 ;
|
||||
C -1 ; WX 583 ; N omacron ; B 40 -34 543 598 ;
|
||||
C -1 ; WX 616 ; N Obreve ; B 42 -30 574 891 ;
|
||||
C -1 ; WX 583 ; N obreve ; B 40 -34 543 675 ;
|
||||
C -1 ; WX 616 ; N Ohungarumlaut ; B 42 -30 574 907 ;
|
||||
C -1 ; WX 583 ; N ohungarumlaut ; B 40 -34 545 693 ;
|
||||
C -1 ; WX 1018 ; N OE ; B 42 -30 967 702 ;
|
||||
C -1 ; WX 958 ; N oe ; B 40 -34 916 499 ;
|
||||
C -1 ; WX 636 ; N Racute ; B 14 -9 624 910 ;
|
||||
C -1 ; WX 579 ; N racute ; B 28 -16 566 693 ;
|
||||
C -1 ; WX 636 ; N Rcommaaccent ; B 14 -268 624 706 ;
|
||||
C -1 ; WX 579 ; N rcommaaccent ; B 28 -272 566 495 ;
|
||||
C -1 ; WX 636 ; N Rcaron ; B 14 -9 624 927 ;
|
||||
C -1 ; WX 579 ; N rcaron ; B 28 -16 566 698 ;
|
||||
C -1 ; WX 588 ; N Sacute ; B 51 -13 547 900 ;
|
||||
C -1 ; WX 519 ; N sacute ; B 48 -31 481 713 ;
|
||||
C -1 ; WX 588 ; N Scircumflex ; B 51 -13 547 904 ;
|
||||
C -1 ; WX 519 ; N scircumflex ; B 48 -31 481 710 ;
|
||||
C -1 ; WX 588 ; N Scedilla ; B 51 -145 547 690 ;
|
||||
C -1 ; WX 519 ; N scedilla ; B 48 -145 481 496 ;
|
||||
C -1 ; WX 588 ; N Scaron ; B 51 -13 547 904 ;
|
||||
C -1 ; WX 519 ; N scaron ; B 48 -31 481 710 ;
|
||||
C -1 ; WX 594 ; N Tcommaaccent ; B 25 -263 564 707 ;
|
||||
C -1 ; WX 510 ; N tcommaaccent ; B 0 -282 488 694 ;
|
||||
C -1 ; WX 594 ; N Tcaron ; B 25 1 564 920 ;
|
||||
C -1 ; WX 713 ; N tcaron ; B 0 -34 680 704 ;
|
||||
C -1 ; WX 594 ; N Tbar ; B 25 1 564 707 ;
|
||||
C -1 ; WX 510 ; N tbar ; B 0 -34 488 694 ;
|
||||
C -1 ; WX 621 ; N Utilde ; B 24 -6 611 850 ;
|
||||
C -1 ; WX 638 ; N utilde ; B 5 -28 624 636 ;
|
||||
C -1 ; WX 621 ; N Umacron ; B 24 -6 611 811 ;
|
||||
C -1 ; WX 638 ; N umacron ; B 5 -28 624 587 ;
|
||||
C -1 ; WX 621 ; N Ubreve ; B 24 -6 611 888 ;
|
||||
C -1 ; WX 638 ; N ubreve ; B 5 -28 624 665 ;
|
||||
C -1 ; WX 621 ; N Uring ; B 24 -6 611 959 ;
|
||||
C -1 ; WX 638 ; N uring ; B 5 -28 624 738 ;
|
||||
C -1 ; WX 621 ; N Uhungarumlaut ; B 24 -6 611 918 ;
|
||||
C -1 ; WX 638 ; N uhungarumlaut ; B 5 -28 624 691 ;
|
||||
C -1 ; WX 621 ; N Uogonek ; B 24 -136 611 710 ;
|
||||
C -1 ; WX 638 ; N uogonek ; B 5 -147 671 487 ;
|
||||
C -1 ; WX 643 ; N Wcircumflex ; B 8 0 614 901 ;
|
||||
C -1 ; WX 678 ; N wcircumflex ; B 5 -10 674 685 ;
|
||||
C -1 ; WX 561 ; N Ycircumflex ; B -21 -2 562 934 ;
|
||||
C -1 ; WX 592 ; N ycircumflex ; B 0 -232 596 691 ;
|
||||
C -1 ; WX 561 ; N Ydieresis ; B -21 -2 562 885 ;
|
||||
C -1 ; WX 592 ; N Zacute ; B 49 -1 551 905 ;
|
||||
C -1 ; WX 528 ; N zacute ; B 45 -22 487 684 ;
|
||||
C -1 ; WX 592 ; N Zdotaccent ; B 49 -1 551 866 ;
|
||||
C -1 ; WX 528 ; N zdotaccent ; B 45 -22 487 632 ;
|
||||
C -1 ; WX 592 ; N Zcaron ; B 49 -1 551 917 ;
|
||||
C -1 ; WX 528 ; N zcaron ; B 45 -22 487 688 ;
|
||||
C -1 ; WX 915 ; N AEacute ; B -11 -16 864 904 ;
|
||||
C -1 ; WX 888 ; N aeacute ; B 38 -23 846 670 ;
|
||||
C -1 ; WX 617 ; N Oslashacute ; B 43 -41 574 912 ;
|
||||
C -1 ; WX 583 ; N oslashacute ; B 40 -73 543 697 ;
|
||||
C -1 ; WX 415 ; N dotlessj ; B -12 -236 344 478 ;
|
||||
C -1 ; WX 281 ; N circumflex ; B 0 558 282 746 ;
|
||||
C -1 ; WX 281 ; N caron ; B 0 558 282 746 ;
|
||||
C -1 ; WX 281 ; N breve ; B 0 585 282 746 ;
|
||||
C -1 ; WX 132 ; N dotaccent ; B 0 600 133 729 ;
|
||||
C -1 ; WX 214 ; N ring ; B 0 547 215 780 ;
|
||||
C -1 ; WX 211 ; N ogonek ; B 0 -145 212 13 ;
|
||||
C -1 ; WX 283 ; N tilde ; B 0 583 284 701 ;
|
||||
C -1 ; WX 352 ; N hungarumlaut ; B 0 591 353 763 ;
|
||||
C -1 ; WX 185 ; N uni0312 ; B 28 474 152 694 ;
|
||||
C -1 ; WX 185 ; N uni0315 ; B 38 470 162 690 ;
|
||||
C -1 ; WX 192 ; N uni0326 ; B 32 -253 156 -33 ;
|
||||
C -1 ; WX 666 ; N mu ; B 24 -219 643 487 ;
|
||||
C -1 ; WX 643 ; N Wgrave ; B 8 0 614 895 ;
|
||||
C -1 ; WX 678 ; N wgrave ; B 5 -10 674 688 ;
|
||||
C -1 ; WX 643 ; N Wacute ; B 8 0 614 898 ;
|
||||
C -1 ; WX 678 ; N wacute ; B 5 -10 674 682 ;
|
||||
C -1 ; WX 643 ; N Wdieresis ; B 8 0 614 868 ;
|
||||
C -1 ; WX 678 ; N wdieresis ; B 5 -10 674 649 ;
|
||||
C -1 ; WX 561 ; N Ygrave ; B -21 -2 562 900 ;
|
||||
C -1 ; WX 592 ; N ygrave ; B 0 -232 596 666 ;
|
||||
C -1 ; WX 611 ; N endash ; B 50 270 551 391 ;
|
||||
C -1 ; WX 1113 ; N emdash ; B 51 270 1052 391 ;
|
||||
C -1 ; WX 265 ; N quoteleft ; B 41 390 217 704 ;
|
||||
C -1 ; WX 264 ; N quoteright ; B 54 390 230 704 ;
|
||||
C -1 ; WX 274 ; N quotesinglbase ; B 46 -138 223 176 ;
|
||||
C -1 ; WX 470 ; N quotedblleft ; B 41 390 422 704 ;
|
||||
C -1 ; WX 469 ; N quotedblright ; B 54 390 436 704 ;
|
||||
C -1 ; WX 479 ; N quotedblbase ; B 46 -138 428 176 ;
|
||||
C -1 ; WX 389 ; N dagger ; B 30 -16 359 724 ;
|
||||
C -1 ; WX 396 ; N daggerdbl ; B 35 -16 364 728 ;
|
||||
C -1 ; WX 316 ; N bullet ; B 50 246 266 479 ;
|
||||
C -1 ; WX 1063 ; N ellipsis ; B 52 -3 1016 245 ;
|
||||
C -1 ; WX 897 ; N perthousand ; B 33 -230 873 828 ;
|
||||
C -1 ; WX 296 ; N guilsinglleft ; B 44 149 232 434 ;
|
||||
C -1 ; WX 295 ; N guilsinglright ; B 63 149 251 434 ;
|
||||
C -1 ; WX 486 ; N fraction ; B -11 -53 501 748 ;
|
||||
C -1 ; WX 732 ; N Euro ; B 31 71 683 590 ;
|
||||
C -1 ; WX 757 ; N trademark ; B 60 303 703 693 ;
|
||||
C -1 ; WX 585 ; N partialdiff ; B 36 -47 553 772 ;
|
||||
C -1 ; WX 564 ; N product ; B 26 -17 534 707 ;
|
||||
C -1 ; WX 577 ; N minus ; B 63 282 514 395 ;
|
||||
C -1 ; WX 565 ; N approxequal ; B 59 137 513 522 ;
|
||||
C -1 ; WX 593 ; N notequal ; B 44 71 554 644 ;
|
||||
C -1 ; WX 1041 ; N fi ; B 20 -42 1041 702 ;
|
||||
C -1 ; WX 1013 ; N fl ; B 20 -29 1011 702 ;
|
||||
C -1 ; WX 292 ; N .notdef ; B 0 0 0 0 ;
|
||||
C -1 ; WX 0 ; N .null ; B 0 0 0 0 ;
|
||||
C -1 ; WX 292 ; N nonmarkingreturn ; B 0 0 0 0 ;
|
||||
EndCharMetrics
|
||||
StartKernData
|
||||
StartKernPairs 6408
|
||||
KPX quotedbl period -104
|
||||
KPX quotedbl comma -103
|
||||
KPX quotedbl Jcircumflex -34
|
||||
KPX quotedbl Aogonek -31
|
||||
KPX quotedbl Abreve -31
|
||||
KPX quotedbl Amacron -31
|
||||
KPX quotedbl AEacute -31
|
||||
KPX quotedbl Aacute -31
|
||||
KPX quotedbl Acircumflex -31
|
||||
KPX quotedbl Atilde -31
|
||||
KPX quotedbl Agrave -31
|
||||
KPX quotedbl Aring -31
|
||||
KPX quotedbl Adieresis -31
|
||||
KPX quotedbl AE -31
|
||||
KPX quotedbl J -34
|
||||
KPX quotedbl A -31
|
||||
KPX quotedbl quotedblbase -117
|
||||
KPX quotedbl quotesinglbase -117
|
||||
KPX quotedbl ellipsis -104
|
||||
KPX quotedbl slash -73
|
||||
KPX quotedbl ampersand -22
|
||||
KPX quotedbl four -27
|
||||
KPX ampersand Ycircumflex -40
|
||||
KPX ampersand Ygrave -40
|
||||
KPX ampersand Ydieresis -40
|
||||
KPX ampersand Yacute -40
|
||||
KPX ampersand Y -40
|
||||
KPX ampersand V -36
|
||||
KPX quotesingle period -97
|
||||
KPX quotesingle comma -97
|
||||
KPX quotesingle Jcircumflex -34
|
||||
KPX quotesingle Aogonek -31
|
||||
KPX quotesingle Abreve -31
|
||||
KPX quotesingle Amacron -31
|
||||
KPX hyphen T -28
|
||||
KPX hyphen one -68
|
||||
KPX hyphen B -25
|
||||
KPX hyphen seven -56
|
||||
KPX slash rcommaaccent -27
|
||||
KPX slash ncommaaccent -29
|
||||
KPX slash gcommaaccent -61
|
||||
KPX slash Jcircumflex -29
|
||||
KPX slash iogonek -26
|
||||
KPX slash ibreve -26
|
||||
KPX slash imacron -26
|
||||
KPX slash itilde -26
|
||||
KPX slash oslashacute -54
|
||||
KPX slash nacute -29
|
||||
KPX slash eng -29
|
||||
KPX slash ncaron -29
|
||||
KPX slash racute -27
|
||||
KPX slash scedilla -43
|
||||
KPX slash scircumflex -43
|
||||
KPX slash sacute -43
|
||||
KPX slash rcaron -27
|
||||
KPX slash ohungarumlaut -54
|
||||
KPX slash obreve -54
|
||||
KPX slash omacron -54
|
||||
KPX slash wgrave -23
|
||||
KPX slash wcircumflex -23
|
||||
KPX slash wdieresis -23
|
||||
KPX slash wacute -23
|
||||
KPX slash zdotaccent -41
|
||||
KPX J ebreve -32
|
||||
KPX J emacron -32
|
||||
KPX J edieresis -32
|
||||
KPX J ecircumflex -32
|
||||
KPX J egrave -32
|
||||
KPX J eacute -32
|
||||
KPX J e -32
|
||||
KPX J Aogonek -34
|
||||
KPX J Abreve -34
|
||||
KPX J Amacron -34
|
||||
KPX J AEacute -34
|
||||
KPX J Aacute -34
|
||||
KPX J Acircumflex -34
|
||||
KPX J Atilde -34
|
||||
KPX J Agrave -34
|
||||
KPX J Aring -34
|
||||
KPX J Adieresis -34
|
||||
KPX J AE -34
|
||||
KPX J A -34
|
||||
KPX J comma -29
|
||||
KPX J period -30
|
||||
KPX J v -29
|
||||
KPX J hyphen -30
|
||||
KPX J quotedblbase -34
|
||||
KPX J quotesinglbase -34
|
||||
KPX J guilsinglright -25
|
||||
KPX J guilsinglleft -25
|
||||
KPX J emdash -30
|
||||
KPX J endash -30
|
||||
KPX J guillemotright -25
|
||||
KPX J guillemotleft -25
|
||||
KPX J germandbls -36
|
||||
KPX J ellipsis -30
|
||||
KPX J slash -34
|
||||
KPX J p -28
|
||||
KPX J m -35
|
||||
KPX J b 54
|
||||
KPX K ycircumflex -60
|
||||
KPX K ygrave -60
|
||||
KPX K ydieresis -60
|
||||
KPX K yacute -60
|
||||
KPX K y -60
|
||||
KPX K wgrave -36
|
||||
KPX K wcircumflex -36
|
||||
KPX K wdieresis -36
|
||||
KPX K wacute -36
|
||||
KPX K w -36
|
||||
KPX K uogonek -25
|
||||
KPX K uhungarumlaut -25
|
||||
KPX K uring -25
|
||||
KPX K ubreve -25
|
||||
KPX K umacron -25
|
||||
KPX K utilde -25
|
||||
KPX K udieresis -25
|
||||
KPX K ucircumflex -25
|
||||
KPX K ugrave -25
|
||||
KPX K uacute -25
|
||||
KPX K u -25
|
||||
KPX K q -23
|
||||
KPX K oslashacute -28
|
||||
KPX K ohungarumlaut -28
|
||||
KPX K obreve -28
|
||||
KPX K omacron -28
|
||||
KPX K otilde -28
|
||||
KPX K odieresis -28
|
||||
KPX K ocircumflex -28
|
||||
KPX K ograve -28
|
||||
KPX K oacute -28
|
||||
KPX K eth -28
|
||||
KPX K oe -28
|
||||
KPX K oslash -28
|
||||
KPX K o -28
|
||||
KPX K dcaron -24
|
||||
KPX K d -24
|
||||
KPX K ccaron -27
|
||||
KPX K cdotaccent -27
|
||||
KPX K ccircumflex -27
|
||||
KPX K cacute -27
|
||||
KPX K ccedilla -27
|
||||
KPX K c -27
|
||||
KPX K ecaron -27
|
||||
KPX K eogonek -27
|
||||
KPX K edotaccent -27
|
||||
KPX K ebreve -27
|
||||
KPX K emacron -27
|
||||
KPX K edieresis -27
|
||||
KPX K ecircumflex -27
|
||||
KPX K egrave -27
|
||||
KPX K eacute -27
|
||||
KPX K e -27
|
||||
KPX K v -49
|
||||
KPX K hyphen -38
|
||||
KPX K guilsinglleft -24
|
||||
KPX K emdash -38
|
||||
KPX K endash -38
|
||||
KPX K guillemotleft -24
|
||||
KPX K b 49
|
||||
KPX L ycircumflex -36
|
||||
KPX L ygrave -36
|
||||
KPX L ydieresis -36
|
||||
KPX L yacute -36
|
||||
KPX L y -36
|
||||
KPX L wgrave -23
|
||||
KPX L wcircumflex -23
|
||||
KPX L wdieresis -23
|
||||
KPX L wacute -23
|
||||
KPX L w -23
|
||||
KPX L V -43
|
||||
KPX L Tcommaaccent -36
|
||||
KPX L Tbar -36
|
||||
KPX L Tcaron -36
|
||||
KPX L T -36
|
||||
KPX L quoteright -49
|
||||
KPX L v -32
|
||||
KPX L quoteleft -54
|
||||
KPX L quotedblright -49
|
||||
KPX L quotedblleft -54
|
||||
KPX L trademark -29
|
||||
KPX L backslash -50
|
||||
KPX L asterisk -30
|
||||
KPX trademark Aring -24
|
||||
KPX trademark Adieresis -24
|
||||
KPX trademark Yacute 29
|
||||
KPX trademark AE -24
|
||||
KPX trademark Y 29
|
||||
KPX trademark A -24
|
||||
KPX trademark b 31
|
||||
EndKernPairs
|
||||
EndKernData
|
||||
EndFontMetrics
|
||||
23
samples/Adobe Font Metrics/lambda.afm
Normal file
23
samples/Adobe Font Metrics/lambda.afm
Normal file
@@ -0,0 +1,23 @@
|
||||
StartFontMetrics 2.0
|
||||
Comment Generated by FontForge 20170719
|
||||
Comment Creation Date: Sun Jul 23 23:14:02 2017
|
||||
FontName Greek_Lambda_Character-Regular
|
||||
FullName Greek_Lambda_Character Regular
|
||||
FamilyName Greek_Lambda_Character
|
||||
Weight Regular
|
||||
Notice (NONE. NADA. PUBLIC DOMAIN, BOI)
|
||||
ItalicAngle 0
|
||||
IsFixedPitch false
|
||||
UnderlinePosition -175
|
||||
UnderlineThickness 90
|
||||
Version 020.017
|
||||
EncodingScheme ISO10646-1
|
||||
FontBBox 33 -177 566 760
|
||||
StartCharMetrics 5
|
||||
C 13 ; WX 602 ; N uni000D ; B 0 0 0 0 ;
|
||||
C 32 ; WX 602 ; N space ; B 0 0 0 0 ;
|
||||
C -1 ; WX 602 ; N lambda ; B 33 0 566 760 ;
|
||||
C -1 ; WX 602 ; N .notdef ; B 50 -177 551 706 ;
|
||||
C -1 ; WX 0 ; N NULL ; B 0 0 0 0 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
||||
77
samples/AngelScript/botmanager.as
Normal file
77
samples/AngelScript/botmanager.as
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* This is a sample script.
|
||||
*/
|
||||
|
||||
#include "BotManagerInterface.acs"
|
||||
|
||||
BotManager::BotManager g_BotManager( @CreateDumbBot );
|
||||
|
||||
CConCommand@ m_pAddBot;
|
||||
|
||||
void PluginInit()
|
||||
{
|
||||
g_BotManager.PluginInit();
|
||||
|
||||
@m_pAddBot = @CConCommand( "addbot", "Adds a new bot with the given name", @AddBotCallback );
|
||||
}
|
||||
|
||||
void AddBotCallback( const CCommand@ args )
|
||||
{
|
||||
if( args.ArgC() < 2 )
|
||||
{
|
||||
g_Game.AlertMessage( at_console, "Usage: addbot <name>" );
|
||||
return;
|
||||
}
|
||||
|
||||
BotManager::BaseBot@ pBot = g_BotManager.CreateBot( args[ 1 ] );
|
||||
|
||||
if( pBot !is null )
|
||||
{
|
||||
g_Game.AlertMessage( at_console, "Created bot " + args[ 1 ] + "\n" );
|
||||
}
|
||||
else
|
||||
{
|
||||
g_Game.AlertMessage( at_console, "Could not create bot\n" );
|
||||
}
|
||||
}
|
||||
|
||||
final class DumbBot : BotManager::BaseBot
|
||||
{
|
||||
DumbBot( CBasePlayer@ pPlayer )
|
||||
{
|
||||
super( pPlayer );
|
||||
}
|
||||
|
||||
void Think()
|
||||
{
|
||||
BotManager::BaseBot::Think();
|
||||
|
||||
// If the bot is dead and can be respawned, send a button press
|
||||
if( Player.pev.deadflag >= DEAD_RESPAWNABLE )
|
||||
{
|
||||
Player.pev.button |= IN_ATTACK;
|
||||
}
|
||||
else
|
||||
Player.pev.button &= ~IN_ATTACK;
|
||||
|
||||
KeyValueBuffer@ pInfoBuffer = g_EngineFuncs.GetInfoKeyBuffer( Player.edict() );
|
||||
|
||||
pInfoBuffer.SetValue( "topcolor", Math.RandomLong( 0, 255 ) );
|
||||
pInfoBuffer.SetValue( "bottomcolor", Math.RandomLong( 0, 255 ) );
|
||||
|
||||
if( Math.RandomLong( 0, 100 ) > 10 )
|
||||
Player.pev.button |= IN_ATTACK;
|
||||
else
|
||||
Player.pev.button &= ~IN_ATTACK;
|
||||
|
||||
for( uint uiIndex = 0; uiIndex < 3; ++uiIndex )
|
||||
{
|
||||
m_vecVelocity[ uiIndex ] = Math.RandomLong( -50, 50 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BotManager::BaseBot@ CreateDumbBot( CBasePlayer@ pPlayer )
|
||||
{
|
||||
return @DumbBot( pPlayer );
|
||||
}
|
||||
396
samples/AngelScript/payload.as
Normal file
396
samples/AngelScript/payload.as
Normal file
@@ -0,0 +1,396 @@
|
||||
// Sample script.
|
||||
// Source: https://github.com/codecat/ssbd-payload
|
||||
|
||||
array<WorldScript::PayloadBeginTrigger@> g_payloadBeginTriggers;
|
||||
array<WorldScript::PayloadTeamForcefield@> g_teamForceFields;
|
||||
|
||||
[GameMode]
|
||||
class Payload : TeamVersusGameMode
|
||||
{
|
||||
[Editable]
|
||||
UnitFeed PayloadUnit;
|
||||
|
||||
[Editable]
|
||||
UnitFeed FirstNode;
|
||||
|
||||
[Editable default=10]
|
||||
int PrepareTime;
|
||||
|
||||
[Editable default=300]
|
||||
int TimeLimit;
|
||||
|
||||
[Editable default=90]
|
||||
int TimeAddCheckpoint;
|
||||
|
||||
[Editable default=2]
|
||||
float TimeOvertime;
|
||||
|
||||
[Editable default=1000]
|
||||
int TimePayloadHeal;
|
||||
|
||||
[Editable default=1]
|
||||
int PayloadHeal;
|
||||
|
||||
PayloadBehavior@ m_payload;
|
||||
|
||||
int m_tmStarting;
|
||||
int m_tmStarted;
|
||||
int m_tmLimitCustom;
|
||||
int m_tmOvertime;
|
||||
int m_tmInOvertime;
|
||||
|
||||
PayloadHUD@ m_payloadHUD;
|
||||
PayloadClassSwitchWindow@ m_switchClass;
|
||||
|
||||
array<SValue@>@ m_switchedSidesData;
|
||||
|
||||
Payload(Scene@ scene)
|
||||
{
|
||||
super(scene);
|
||||
|
||||
m_tmRespawnCountdown = 5000;
|
||||
|
||||
@m_payloadHUD = PayloadHUD(m_guiBuilder);
|
||||
@m_switchTeam = PayloadTeamSwitchWindow(m_guiBuilder);
|
||||
@m_switchClass = PayloadClassSwitchWindow(m_guiBuilder);
|
||||
}
|
||||
|
||||
void UpdateFrame(int ms, GameInput& gameInput, MenuInput& menuInput) override
|
||||
{
|
||||
TeamVersusGameMode::UpdateFrame(ms, gameInput, menuInput);
|
||||
|
||||
m_payloadHUD.Update(ms);
|
||||
|
||||
if (Network::IsServer())
|
||||
{
|
||||
uint64 tmNow = CurrPlaytimeLevel();
|
||||
|
||||
if (m_tmStarting == 0)
|
||||
{
|
||||
if (GetPlayersInTeam(0) > 0 && GetPlayersInTeam(1) > 0)
|
||||
{
|
||||
m_tmStarting = tmNow;
|
||||
(Network::Message("GameStarting") << m_tmStarting).SendToAll();
|
||||
}
|
||||
}
|
||||
|
||||
if (m_tmStarting > 0 && m_tmStarted == 0 && tmNow - m_tmStarting > PrepareTime * 1000)
|
||||
{
|
||||
m_tmStarted = tmNow;
|
||||
(Network::Message("GameStarted") << m_tmStarted).SendToAll();
|
||||
|
||||
for (uint i = 0; i < g_payloadBeginTriggers.length(); i++)
|
||||
{
|
||||
WorldScript@ ws = WorldScript::GetWorldScript(g_scene, g_payloadBeginTriggers[i]);
|
||||
ws.Execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!m_ended && m_tmStarted > 0)
|
||||
CheckTimeReached(ms);
|
||||
}
|
||||
|
||||
string NameForTeam(int index) override
|
||||
{
|
||||
if (index == 0)
|
||||
return "Defenders";
|
||||
else if (index == 1)
|
||||
return "Attackers";
|
||||
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
void CheckTimeReached(int dt)
|
||||
{
|
||||
// Check if time limit is not reached yet
|
||||
if (m_tmLimitCustom - (CurrPlaytimeLevel() - m_tmStarted) > 0)
|
||||
{
|
||||
// Don't need to continue checking
|
||||
m_tmOvertime = 0;
|
||||
m_tmInOvertime = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
// Count how long we're in overtime for later time limit fixing when we reach a checkpoint
|
||||
if (m_tmOvertime > 0)
|
||||
m_tmInOvertime += dt;
|
||||
|
||||
// Check if there are any attackers still inside
|
||||
if (m_payload.AttackersInside() > 0)
|
||||
{
|
||||
// We have overtime
|
||||
m_tmOvertime = int(TimeOvertime * 1000);
|
||||
return;
|
||||
}
|
||||
|
||||
// If we have overtime
|
||||
if (m_tmOvertime > 0)
|
||||
{
|
||||
// Decrease timer
|
||||
m_tmOvertime -= dt;
|
||||
if (m_tmOvertime <= 0)
|
||||
{
|
||||
// Overtime countdown reached, time limit reached
|
||||
TimeReached();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// No overtime, so time limit is reached
|
||||
TimeReached();
|
||||
}
|
||||
}
|
||||
|
||||
void TimeReached()
|
||||
{
|
||||
if (!Network::IsServer())
|
||||
return;
|
||||
|
||||
(Network::Message("TimeReached")).SendToAll();
|
||||
SetWinner(false);
|
||||
}
|
||||
|
||||
bool ShouldFreezeControls() override
|
||||
{
|
||||
return m_switchClass.m_visible
|
||||
|| TeamVersusGameMode::ShouldFreezeControls();
|
||||
}
|
||||
|
||||
bool ShouldDisplayCursor() override
|
||||
{
|
||||
return m_switchClass.m_visible
|
||||
|| TeamVersusGameMode::ShouldDisplayCursor();
|
||||
}
|
||||
|
||||
bool CanSwitchTeams() override
|
||||
{
|
||||
return m_tmStarted == 0;
|
||||
}
|
||||
|
||||
PlayerRecord@ CreatePlayerRecord() override
|
||||
{
|
||||
return PayloadPlayerRecord();
|
||||
}
|
||||
|
||||
int GetPlayerClassCount(PlayerClass playerClass, TeamVersusScore@ team)
|
||||
{
|
||||
if (team is null)
|
||||
return 0;
|
||||
|
||||
int ret = 0;
|
||||
for (uint i = 0; i < team.m_players.length(); i++)
|
||||
{
|
||||
if (team.m_players[i].peer == 255)
|
||||
continue;
|
||||
auto record = cast<PayloadPlayerRecord>(team.m_players[i]);
|
||||
if (record.playerClass == playerClass)
|
||||
ret++;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void PlayerClassesUpdated()
|
||||
{
|
||||
m_switchClass.PlayerClassesUpdated();
|
||||
}
|
||||
|
||||
void SetWinner(bool attackers)
|
||||
{
|
||||
if (attackers)
|
||||
print("Attackers win!");
|
||||
else
|
||||
print("Defenders win!");
|
||||
|
||||
m_payloadHUD.Winner(attackers);
|
||||
EndMatch();
|
||||
}
|
||||
|
||||
void DisplayPlayerName(int idt, SpriteBatch& sb, PlayerRecord@ record, PlayerHusk@ plr, vec2 pos) override
|
||||
{
|
||||
TeamVersusGameMode::DisplayPlayerName(idt, sb, record, plr, pos);
|
||||
|
||||
m_payloadHUD.DisplayPlayerName(idt, sb, cast<PayloadPlayerRecord>(record), plr, pos);
|
||||
}
|
||||
|
||||
void RenderFrame(int idt, SpriteBatch& sb) override
|
||||
{
|
||||
Player@ player = GetLocalPlayer();
|
||||
if (player !is null)
|
||||
{
|
||||
PlayerHealgun@ healgun = cast<PlayerHealgun>(player.m_currWeapon);
|
||||
if (healgun !is null)
|
||||
healgun.RenderMarkers(idt, sb);
|
||||
}
|
||||
|
||||
TeamVersusGameMode::RenderFrame(idt, sb);
|
||||
}
|
||||
|
||||
void RenderWidgets(PlayerRecord@ player, int idt, SpriteBatch& sb) override
|
||||
{
|
||||
m_payloadHUD.Draw(sb, idt);
|
||||
|
||||
TeamVersusGameMode::RenderWidgets(player, idt, sb);
|
||||
|
||||
m_switchClass.Draw(sb, idt);
|
||||
}
|
||||
|
||||
void GoNextMap() override
|
||||
{
|
||||
if (m_switchedSidesData !is null)
|
||||
{
|
||||
TeamVersusGameMode::GoNextMap();
|
||||
return;
|
||||
}
|
||||
|
||||
ChangeLevel(GetCurrentLevelFilename());
|
||||
}
|
||||
|
||||
void SpawnPlayers() override
|
||||
{
|
||||
if (m_switchedSidesData is null)
|
||||
{
|
||||
TeamVersusGameMode::SpawnPlayers();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Network::IsServer())
|
||||
{
|
||||
for (uint i = 0; i < m_switchedSidesData.length(); i += 2)
|
||||
{
|
||||
uint peer = uint(m_switchedSidesData[i].GetInteger());
|
||||
uint team = uint(m_switchedSidesData[i + 1].GetInteger());
|
||||
|
||||
TeamVersusScore@ joinScore = FindTeamScore(team);
|
||||
if (joinScore is m_teamScores[0])
|
||||
@joinScore = m_teamScores[1];
|
||||
else
|
||||
@joinScore = m_teamScores[0];
|
||||
|
||||
for (uint j = 0; j < g_players.length(); j++)
|
||||
{
|
||||
if (g_players[j].peer != peer)
|
||||
continue;
|
||||
SpawnPlayer(j, vec2(), 0, joinScore.m_team);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Save(SValueBuilder& builder) override
|
||||
{
|
||||
if (m_switchedSidesData is null)
|
||||
{
|
||||
builder.PushArray("teams");
|
||||
for (uint i = 0; i < g_players.length(); i++)
|
||||
{
|
||||
if (g_players[i].peer == 255)
|
||||
continue;
|
||||
builder.PushInteger(g_players[i].peer);
|
||||
builder.PushInteger(g_players[i].team);
|
||||
}
|
||||
builder.PopArray();
|
||||
}
|
||||
|
||||
TeamVersusGameMode::Save(builder);
|
||||
}
|
||||
|
||||
void Start(uint8 peer, SValue@ save, StartMode sMode) override
|
||||
{
|
||||
if (save !is null)
|
||||
@m_switchedSidesData = GetParamArray(UnitPtr(), save, "teams", false);
|
||||
|
||||
TeamVersusGameMode::Start(peer, save, sMode);
|
||||
|
||||
m_tmLimit = 0; // infinite time limit as far as VersusGameMode is concerned
|
||||
m_tmLimitCustom = TimeLimit * 1000; // 5 minutes by default
|
||||
|
||||
@m_payload = cast<PayloadBehavior>(PayloadUnit.FetchFirst().GetScriptBehavior());
|
||||
|
||||
if (m_payload is null)
|
||||
PrintError("PayloadUnit is not a PayloadBehavior!");
|
||||
|
||||
UnitPtr unitFirstNode = FirstNode.FetchFirst();
|
||||
if (unitFirstNode.IsValid())
|
||||
{
|
||||
auto node = cast<WorldScript::PayloadNode>(unitFirstNode.GetScriptBehavior());
|
||||
if (node !is null)
|
||||
@m_payload.m_targetNode = node;
|
||||
else
|
||||
PrintError("First target node is not a PayloadNode script!");
|
||||
}
|
||||
else
|
||||
PrintError("First target node was not set!");
|
||||
|
||||
WorldScript::PayloadNode@ prevNode;
|
||||
|
||||
float totalDistance = 0.0f;
|
||||
|
||||
UnitPtr unitNode = unitFirstNode;
|
||||
while (unitNode.IsValid())
|
||||
{
|
||||
auto node = cast<WorldScript::PayloadNode>(unitNode.GetScriptBehavior());
|
||||
if (node is null)
|
||||
break;
|
||||
|
||||
unitNode = node.NextNode.FetchFirst();
|
||||
|
||||
@node.m_prevNode = prevNode;
|
||||
@node.m_nextNode = cast<WorldScript::PayloadNode>(unitNode.GetScriptBehavior());
|
||||
|
||||
if (prevNode !is null)
|
||||
totalDistance += dist(prevNode.Position, node.Position);
|
||||
|
||||
@prevNode = node;
|
||||
}
|
||||
|
||||
float currDistance = 0.0f;
|
||||
|
||||
auto distNode = cast<WorldScript::PayloadNode>(unitFirstNode.GetScriptBehavior());
|
||||
while (distNode !is null)
|
||||
{
|
||||
if (distNode.m_prevNode is null)
|
||||
distNode.m_locationFactor = 0.0f;
|
||||
else
|
||||
{
|
||||
currDistance += dist(distNode.m_prevNode.Position, distNode.Position);
|
||||
distNode.m_locationFactor = currDistance / totalDistance;
|
||||
}
|
||||
|
||||
@distNode = distNode.m_nextNode;
|
||||
}
|
||||
|
||||
m_payloadHUD.AddCheckpoints();
|
||||
}
|
||||
|
||||
void SpawnPlayer(int i, vec2 pos = vec2(), int unitId = 0, uint team = 0) override
|
||||
{
|
||||
TeamVersusGameMode::SpawnPlayer(i, pos, unitId, team);
|
||||
|
||||
PayloadPlayerRecord@ record = cast<PayloadPlayerRecord>(g_players[i]);
|
||||
record.HandlePlayerClass();
|
||||
|
||||
if (g_players[i].local)
|
||||
{
|
||||
//TODO: This doesn't work well
|
||||
bool localAttackers = (team == HashString("player_1"));
|
||||
for (uint j = 0; j < g_teamForceFields.length(); j++)
|
||||
{
|
||||
bool hasCollision = (localAttackers != g_teamForceFields[j].Attackers);
|
||||
|
||||
auto units = g_teamForceFields[j].Units.FetchAll();
|
||||
for (uint k = 0; k < units.length(); k++)
|
||||
{
|
||||
PhysicsBody@ body = units[k].GetPhysicsBody();
|
||||
if (body is null)
|
||||
{
|
||||
PrintError("PhysicsBody for unit " + units[k].GetDebugName() + "is null");
|
||||
continue;
|
||||
}
|
||||
body.SetActive(hasCollision);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
16
samples/Ballerina/hello-world-service.bal
Normal file
16
samples/Ballerina/hello-world-service.bal
Normal file
@@ -0,0 +1,16 @@
|
||||
import ballerina.lang.messages;
|
||||
import ballerina.net.http;
|
||||
import ballerina.doc;
|
||||
|
||||
@doc:Description {value:"By default Ballerina assumes that the service is to be exposed via HTTP/1.1 using the system default port and that all requests coming to the HTTP server will be delivered to this service."}
|
||||
service<http> helloWorld {
|
||||
@doc:Description {value:"All resources are invoked with an argument of type message, the built-in reference type representing a network invocation."}
|
||||
resource sayHello (message m) {
|
||||
// Creates an empty message.
|
||||
message response = {};
|
||||
// A util method that can be used to set string payload.
|
||||
messages:setStringPayload(response, "Hello, World!");
|
||||
// Reply keyword sends the response back to the client.
|
||||
reply response;
|
||||
}
|
||||
}
|
||||
6
samples/Ballerina/hello-world.bal
Normal file
6
samples/Ballerina/hello-world.bal
Normal file
@@ -0,0 +1,6 @@
|
||||
import ballerina.lang.system;
|
||||
|
||||
function main (string[] args) {
|
||||
system:println("Hello, World!");
|
||||
}
|
||||
|
||||
31
samples/Ballerina/json.bal
Normal file
31
samples/Ballerina/json.bal
Normal file
@@ -0,0 +1,31 @@
|
||||
import ballerina.lang.system;
|
||||
|
||||
function main (string[] args) {
|
||||
// JSON string value.
|
||||
json j1 = "Apple";
|
||||
system:println(j1);
|
||||
|
||||
// JSON number value.
|
||||
json j2 = 5.36;
|
||||
system:println(j2);
|
||||
|
||||
// JSON true value.
|
||||
json j3 = true;
|
||||
system:println(j3);
|
||||
|
||||
// JSON false value.
|
||||
json j4 = false;
|
||||
system:println(j4);
|
||||
|
||||
// JSON null value.
|
||||
json j5 = null;
|
||||
|
||||
//JSON Objects.
|
||||
json j6 = {name:"apple", color:"red", price:j2};
|
||||
system:println(j6);
|
||||
|
||||
//JSON Arrays. They are arrays of any JSON value.
|
||||
json j7 = [1, false, null, "foo",
|
||||
{first:"John", last:"Pala"}];
|
||||
system:println(j7);
|
||||
}
|
||||
28
samples/Ballerina/var.bal
Normal file
28
samples/Ballerina/var.bal
Normal file
@@ -0,0 +1,28 @@
|
||||
import ballerina.lang.system;
|
||||
|
||||
function divideBy10 (int d) (int, int) {
|
||||
return d / 10, d % 10;
|
||||
}
|
||||
|
||||
function main (string[] args) {
|
||||
//Here the variable type is inferred type from the initial value. This is same as "int k = 5";
|
||||
var k = 5;
|
||||
system:println(10 + k);
|
||||
|
||||
//Here the type of the 'strVar' is 'string'.
|
||||
var strVar = "Hello!";
|
||||
system:println(strVar);
|
||||
|
||||
//Multiple assignment with 'var' allows you to define the variable then and there.
|
||||
//Variable type is inferred from the right-hand side.
|
||||
var q, r = divideBy10(6);
|
||||
system:println("06/10: " + "quotient=" + q + " " +
|
||||
"remainder=" + r);
|
||||
|
||||
//To ignore a particular return value in a multiple assignment statement, use '_'.
|
||||
var q1, _ = divideBy10(57);
|
||||
system:println("57/10: " + "quotient=" + q1);
|
||||
|
||||
var _, r1 = divideBy10(9);
|
||||
system:println("09/10: " + "remainder=" + r1);
|
||||
}
|
||||
26
samples/Ballerina/xml.bal
Normal file
26
samples/Ballerina/xml.bal
Normal file
@@ -0,0 +1,26 @@
|
||||
import ballerina.lang.system;
|
||||
|
||||
function main (string[] args) {
|
||||
|
||||
// XML element. Can only have one root element.
|
||||
xml x1 = xml `<book>The Lost World</book>`;
|
||||
system:println(x1);
|
||||
|
||||
// XML text
|
||||
xml x2 = xml `Hello, world!`;
|
||||
system:println(x2);
|
||||
|
||||
// XML comment
|
||||
xml x3 = xml `<!--I am a comment-->`;
|
||||
system:println(x3);
|
||||
|
||||
// XML processing instruction
|
||||
xml x4 = xml `<?target data?>`;
|
||||
system:println(x4);
|
||||
|
||||
// Multiple XML items can be combined to form a sequence of XML. The resulting sequence is again an XML on its own.
|
||||
xml x5 = x1 + x2 + x3 + x4;
|
||||
system:println("\nResulting XML sequence:");
|
||||
system:println(x5);
|
||||
|
||||
}
|
||||
2
samples/C++/grpc.pb.cc
Normal file
2
samples/C++/grpc.pb.cc
Normal file
@@ -0,0 +1,2 @@
|
||||
// Generated by the gRPC protobuf plugin.
|
||||
// If you make any local change, they will be lost.
|
||||
125
samples/C++/hello.grpc.pb.h
Normal file
125
samples/C++/hello.grpc.pb.h
Normal file
@@ -0,0 +1,125 @@
|
||||
// Generated by the gRPC C++ plugin.
|
||||
// If you make any local change, they will be lost.
|
||||
// source: hello.proto
|
||||
#ifndef GRPC_hello_2eproto__INCLUDED
|
||||
#define GRPC_hello_2eproto__INCLUDED
|
||||
|
||||
#include "hello.pb.h"
|
||||
|
||||
#include <grpc++/impl/codegen/async_stream.h>
|
||||
#include <grpc++/impl/codegen/async_unary_call.h>
|
||||
#include <grpc++/impl/codegen/method_handler_impl.h>
|
||||
#include <grpc++/impl/codegen/proto_utils.h>
|
||||
#include <grpc++/impl/codegen/rpc_method.h>
|
||||
#include <grpc++/impl/codegen/service_type.h>
|
||||
#include <grpc++/impl/codegen/status.h>
|
||||
#include <grpc++/impl/codegen/stub_options.h>
|
||||
#include <grpc++/impl/codegen/sync_stream.h>
|
||||
|
||||
namespace grpc {
|
||||
class CompletionQueue;
|
||||
class Channel;
|
||||
class RpcService;
|
||||
class ServerCompletionQueue;
|
||||
class ServerContext;
|
||||
} // namespace grpc
|
||||
|
||||
class HelloService final {
|
||||
public:
|
||||
class StubInterface {
|
||||
public:
|
||||
virtual ~StubInterface() {}
|
||||
virtual ::grpc::Status SayHello(::grpc::ClientContext* context, const ::HelloRequest& request, ::HelloResponse* response) = 0;
|
||||
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::HelloResponse>> AsyncSayHello(::grpc::ClientContext* context, const ::HelloRequest& request, ::grpc::CompletionQueue* cq) {
|
||||
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::HelloResponse>>(AsyncSayHelloRaw(context, request, cq));
|
||||
}
|
||||
private:
|
||||
virtual ::grpc::ClientAsyncResponseReaderInterface< ::HelloResponse>* AsyncSayHelloRaw(::grpc::ClientContext* context, const ::HelloRequest& request, ::grpc::CompletionQueue* cq) = 0;
|
||||
};
|
||||
class Stub final : public StubInterface {
|
||||
public:
|
||||
Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel);
|
||||
::grpc::Status SayHello(::grpc::ClientContext* context, const ::HelloRequest& request, ::HelloResponse* response) override;
|
||||
std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::HelloResponse>> AsyncSayHello(::grpc::ClientContext* context, const ::HelloRequest& request, ::grpc::CompletionQueue* cq) {
|
||||
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::HelloResponse>>(AsyncSayHelloRaw(context, request, cq));
|
||||
}
|
||||
|
||||
private:
|
||||
std::shared_ptr< ::grpc::ChannelInterface> channel_;
|
||||
::grpc::ClientAsyncResponseReader< ::HelloResponse>* AsyncSayHelloRaw(::grpc::ClientContext* context, const ::HelloRequest& request, ::grpc::CompletionQueue* cq) override;
|
||||
const ::grpc::RpcMethod rpcmethod_SayHello_;
|
||||
};
|
||||
static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
|
||||
|
||||
class Service : public ::grpc::Service {
|
||||
public:
|
||||
Service();
|
||||
virtual ~Service();
|
||||
virtual ::grpc::Status SayHello(::grpc::ServerContext* context, const ::HelloRequest* request, ::HelloResponse* response);
|
||||
};
|
||||
template <class BaseClass>
|
||||
class WithAsyncMethod_SayHello : public BaseClass {
|
||||
private:
|
||||
void BaseClassMustBeDerivedFromService(const Service *service) {}
|
||||
public:
|
||||
WithAsyncMethod_SayHello() {
|
||||
::grpc::Service::MarkMethodAsync(0);
|
||||
}
|
||||
~WithAsyncMethod_SayHello() override {
|
||||
BaseClassMustBeDerivedFromService(this);
|
||||
}
|
||||
// disable synchronous version of this method
|
||||
::grpc::Status SayHello(::grpc::ServerContext* context, const ::HelloRequest* request, ::HelloResponse* response) final override {
|
||||
abort();
|
||||
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
||||
}
|
||||
void RequestSayHello(::grpc::ServerContext* context, ::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::HelloResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
|
||||
::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
|
||||
}
|
||||
};
|
||||
typedef WithAsyncMethod_SayHello<Service > AsyncService;
|
||||
template <class BaseClass>
|
||||
class WithGenericMethod_SayHello : public BaseClass {
|
||||
private:
|
||||
void BaseClassMustBeDerivedFromService(const Service *service) {}
|
||||
public:
|
||||
WithGenericMethod_SayHello() {
|
||||
::grpc::Service::MarkMethodGeneric(0);
|
||||
}
|
||||
~WithGenericMethod_SayHello() override {
|
||||
BaseClassMustBeDerivedFromService(this);
|
||||
}
|
||||
// disable synchronous version of this method
|
||||
::grpc::Status SayHello(::grpc::ServerContext* context, const ::HelloRequest* request, ::HelloResponse* response) final override {
|
||||
abort();
|
||||
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
||||
}
|
||||
};
|
||||
template <class BaseClass>
|
||||
class WithStreamedUnaryMethod_SayHello : public BaseClass {
|
||||
private:
|
||||
void BaseClassMustBeDerivedFromService(const Service *service) {}
|
||||
public:
|
||||
WithStreamedUnaryMethod_SayHello() {
|
||||
::grpc::Service::MarkMethodStreamed(0,
|
||||
new ::grpc::StreamedUnaryHandler< ::HelloRequest, ::HelloResponse>(std::bind(&WithStreamedUnaryMethod_SayHello<BaseClass>::StreamedSayHello, this, std::placeholders::_1, std::placeholders::_2)));
|
||||
}
|
||||
~WithStreamedUnaryMethod_SayHello() override {
|
||||
BaseClassMustBeDerivedFromService(this);
|
||||
}
|
||||
// disable regular version of this method
|
||||
::grpc::Status SayHello(::grpc::ServerContext* context, const ::HelloRequest* request, ::HelloResponse* response) final override {
|
||||
abort();
|
||||
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
|
||||
}
|
||||
// replace default version of method with streamed unary
|
||||
virtual ::grpc::Status StreamedSayHello(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::HelloRequest,::HelloResponse>* server_unary_streamer) = 0;
|
||||
};
|
||||
typedef WithStreamedUnaryMethod_SayHello<Service > StreamedUnaryService;
|
||||
typedef Service SplitStreamedService;
|
||||
typedef WithStreamedUnaryMethod_SayHello<Service > StreamedService;
|
||||
};
|
||||
|
||||
|
||||
#endif // GRPC_hello_2eproto__INCLUDED
|
||||
|
||||
36
samples/Common Workflow Language/trunk-peak-score.cwl
Normal file
36
samples/Common Workflow Language/trunk-peak-score.cwl
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env cwl-runner
|
||||
# Originally from
|
||||
# https://github.com/Duke-GCB/GGR-cwl/blob/54e897263a702ff1074c8ac814b4bf7205d140dd/utils/trunk-peak-score.cwl
|
||||
# Released under the MIT License:
|
||||
# https://github.com/Duke-GCB/GGR-cwl/blob/54e897263a702ff1074c8ac814b4bf7205d140dd/LICENSE
|
||||
# Converted to CWL v1.0 syntax using
|
||||
# https://github.com/common-workflow-language/cwl-upgrader
|
||||
# and polished by Michael R. Crusoe <mrc@commonwl.org>
|
||||
# All modifications also released under the MIT License
|
||||
cwlVersion: v1.0
|
||||
class: CommandLineTool
|
||||
doc: Trunk scores in ENCODE bed6+4 files
|
||||
|
||||
hints:
|
||||
DockerRequirement:
|
||||
dockerPull: dukegcb/workflow-utils
|
||||
|
||||
inputs:
|
||||
peaks:
|
||||
type: File
|
||||
sep:
|
||||
type: string
|
||||
default: \t
|
||||
|
||||
outputs:
|
||||
trunked_scores_peaks:
|
||||
type: stdout
|
||||
|
||||
baseCommand: awk
|
||||
|
||||
arguments:
|
||||
- -F $(inputs.sep)
|
||||
- BEGIN{OFS=FS}$5>1000{$5=1000}{print}
|
||||
- $(inputs.peaks.path)
|
||||
|
||||
stdout: $(inputs.peaks.nameroot).trunked_scores$(inputs.peaks.nameext)
|
||||
12
samples/DataWeave/customInterpolator.dwl
Normal file
12
samples/DataWeave/customInterpolator.dwl
Normal file
@@ -0,0 +1,12 @@
|
||||
fun SQL(literals, parts) = ''
|
||||
---
|
||||
[
|
||||
SQL `SELECT * FROM table WHERE id = $(1) AND name = $('a')`,
|
||||
SQL `$('p')`,
|
||||
SQL `$('a')$('b')`,
|
||||
SQL `$('a')---$('b')`,
|
||||
SQL `---$('a')---$('b')---`,
|
||||
SQL `$('p')bbb`,
|
||||
SQL `aaa$('p')`,
|
||||
SQL `aaa$('p')bbb`
|
||||
]
|
||||
9
samples/DataWeave/directives.dwl
Normal file
9
samples/DataWeave/directives.dwl
Normal file
@@ -0,0 +1,9 @@
|
||||
%dw 2.0
|
||||
var number = 1234
|
||||
fun foo(func,name="Mariano") = func(name)
|
||||
input payload application/test arg="value"
|
||||
output application/json
|
||||
---
|
||||
{
|
||||
foo: "bar"
|
||||
}
|
||||
27
samples/DataWeave/functions.dwl
Normal file
27
samples/DataWeave/functions.dwl
Normal file
@@ -0,0 +1,27 @@
|
||||
%dw 2.0
|
||||
var x=(param1, param2) -> { "$param1": param2 }
|
||||
var y=(param1, param2 = "c") -> { "$param1": param2 }
|
||||
var toUser = (user) -> { name: user.name, lastName: user.lastName }
|
||||
fun z(param1, param2) = { "$param1": param2 }
|
||||
var a = { name: "Mariano" , toUser: ((param1, param2) -> { "$param1": param2 }) }
|
||||
var applyFirst = (array, func) -> (func(array[0]) ++ array[1 to -1])
|
||||
|
||||
var nested = (array, func) -> (a) -> (b) -> (c) -> array map func(a ++ b ++ c)
|
||||
|
||||
|
||||
fun f2(a1, a2) = ""
|
||||
fun f3(a1:String, a2:Number):String = a1
|
||||
fun f4(a1:String, a2:(a:Number) -> Number):String = a1
|
||||
---
|
||||
result: {
|
||||
a: x("a", "b"),
|
||||
b: y("a"),
|
||||
c: y("a", "b"),
|
||||
users: { (in1 map ((user) -> { user: (toUser(user) ++ user) })) },
|
||||
d: z("a", "b"),
|
||||
e: a.toUser("name","Mariano"),
|
||||
f: a.toUser("name","Mariano").name,
|
||||
f: applyFirst("mariano", (s) -> upper(s) ),
|
||||
g: [] map (s) -> upper(s),
|
||||
h: 1 f2 2
|
||||
}
|
||||
36
samples/DataWeave/literals.dwl
Normal file
36
samples/DataWeave/literals.dwl
Normal file
@@ -0,0 +1,36 @@
|
||||
%dw 2.0
|
||||
---
|
||||
{
|
||||
"boolean":{
|
||||
"true" : true,
|
||||
"false": false
|
||||
},
|
||||
"Number": {
|
||||
"int": 123,
|
||||
"decimal": 123.23
|
||||
},
|
||||
"string": {
|
||||
"singleQuote" : 'A String',
|
||||
"doubleQuote" : "A String"
|
||||
},
|
||||
"regex": /foo/,
|
||||
"date": {
|
||||
a: |2003-10-01|,
|
||||
b: |2005-045|,
|
||||
c: |2003-W14-3|,
|
||||
d: |23:57:59|,
|
||||
e: |23:57:30.700|,
|
||||
f: |23:50:30Z|,
|
||||
g: |+13:00|,
|
||||
h: |Z|,
|
||||
i: |-02:00|,
|
||||
j: |2005-06-02T15:10:16|,
|
||||
k: |2005-06-02T15:10:16Z|,
|
||||
l: |2005-06-02T15:10:16+03:00|,
|
||||
m: |P12Y7M11D|,
|
||||
n: |P12Y5M|,
|
||||
o: |P45DT9H20M8S|,
|
||||
p: |PT9H20M8S|
|
||||
}
|
||||
}
|
||||
|
||||
33
samples/DataWeave/match.dwl
Normal file
33
samples/DataWeave/match.dwl
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
// Regex Pattern Matching (Can be named or unnamed)
|
||||
a: in0.phones map $ match {
|
||||
case matches /\+(\d+)\s\((\d+)\)\s(\d+\-\d+)/ -> { country: $[0], area: $[1], number: $[2] }
|
||||
case matches /\((\d+)\)\s(\d+\-\d+)/ -> { area: $[1], number: $[2] }
|
||||
case phone matches /\((\d+)\)\s(\d+\-\d+)/ -> { area: phone[1], number: phone[2] }
|
||||
},
|
||||
// Type Pattern Matching (Can be named or unnamed)
|
||||
b: in0.object match {
|
||||
case is Object -> { object: $ }
|
||||
case is Number -> { number: $ }
|
||||
// This is how you name variables if needed
|
||||
case y is Boolean -> { boolean: y }
|
||||
},
|
||||
// Literal Pattern Matching (Can be named or unnamed)
|
||||
c: in0.value match {
|
||||
case "Emiliano" -> { string: $ }
|
||||
case 123 -> { number: $ }
|
||||
// This is how you name variables if needed
|
||||
case value: "Mariano" -> { name: value }
|
||||
},
|
||||
// Boolean Expression Pattern Matching (Always named)
|
||||
d: in0.value match {
|
||||
case x if x > 30 -> { biggerThan30: x }
|
||||
case x if x == 9 -> { nine: x }
|
||||
},
|
||||
// Default matches
|
||||
e: in0.value match {
|
||||
case "Emiliano" -> "string"
|
||||
case 3.14 -> number
|
||||
else -> "1234"
|
||||
}
|
||||
}
|
||||
2061
samples/Edje Data Collection/mild.edc
Normal file
2061
samples/Edje Data Collection/mild.edc
Normal file
File diff suppressed because it is too large
Load Diff
313
samples/Gerber Image/FelinaePurr-B.Cu.gbl
Normal file
313
samples/Gerber Image/FelinaePurr-B.Cu.gbl
Normal file
@@ -0,0 +1,313 @@
|
||||
G04 #@! TF.FileFunction,Copper,L2,Bot,Signal*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (2016-07-14 BZR 6980)-product) date Sunday, 23 April 2017 'PMt' 23:49:01*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11C,0.175000*%
|
||||
%ADD12R,1.727200X2.032000*%
|
||||
%ADD13O,1.727200X2.032000*%
|
||||
%ADD14R,2.032000X1.727200*%
|
||||
%ADD15O,2.032000X1.727200*%
|
||||
%ADD16C,1.300000*%
|
||||
%ADD17C,2.800000*%
|
||||
%ADD18C,0.685800*%
|
||||
%ADD19C,0.800000*%
|
||||
%ADD20C,0.400000*%
|
||||
%ADD21C,0.800000*%
|
||||
%ADD22C,0.300000*%
|
||||
%ADD23C,0.500000*%
|
||||
%ADD24C,0.180000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X162816666Y-95670833D02*
|
||||
X162883333Y-95637500D01*
|
||||
X163016666Y-95637500D01*
|
||||
X163083333Y-95670833D01*
|
||||
X163150000Y-95737500D01*
|
||||
X163183333Y-95804166D01*
|
||||
X163183333Y-95937500D01*
|
||||
X163150000Y-96004166D01*
|
||||
X163083333Y-96070833D01*
|
||||
X163016666Y-96104166D01*
|
||||
X162883333Y-96104166D01*
|
||||
X162816666Y-96070833D01*
|
||||
X162950000Y-95404166D02*
|
||||
X163116666Y-95437500D01*
|
||||
X163283333Y-95537500D01*
|
||||
X163383333Y-95704166D01*
|
||||
X163416666Y-95870833D01*
|
||||
X157450000Y-95870833D01*
|
||||
X157483333Y-95837500D01*
|
||||
X157550000Y-95804166D01*
|
||||
X156816666Y-95504166D02*
|
||||
X156950000Y-95504166D01*
|
||||
X157016666Y-95537500D01*
|
||||
X157050000Y-95570833D01*
|
||||
X157116666Y-95670833D01*
|
||||
X157150000Y-95804166D01*
|
||||
X157150000Y-96070833D01*
|
||||
X157116666Y-96137500D01*
|
||||
X157083333Y-96170833D01*
|
||||
X157016666Y-96204166D01*
|
||||
X156883333Y-96204166D01*
|
||||
X156816666Y-96170833D01*
|
||||
X156783333Y-96137500D01*
|
||||
X156750000Y-96070833D01*
|
||||
X156750000Y-95904166D01*
|
||||
X156783333Y-95837500D01*
|
||||
X156816666Y-95804166D01*
|
||||
X156883333Y-95770833D01*
|
||||
X157016666Y-95770833D01*
|
||||
X157083333Y-95804166D01*
|
||||
X157116666Y-95837500D01*
|
||||
X157150000Y-95904166D01*
|
||||
X156450000Y-95937500D02*
|
||||
X155916666Y-95937500D01*
|
||||
X155616666Y-96170833D02*
|
||||
X155516666Y-96204166D01*
|
||||
X155350000Y-96204166D01*
|
||||
X155283333Y-96170833D01*
|
||||
X155250000Y-96137500D01*
|
||||
X155216666Y-96070833D01*
|
||||
X155216666Y-96004166D01*
|
||||
X155250000Y-95937500D01*
|
||||
X155283333Y-95904166D01*
|
||||
X155350000Y-95870833D01*
|
||||
X155483333Y-95837500D01*
|
||||
X155550000Y-95804166D01*
|
||||
X155583333Y-95770833D01*
|
||||
X155616666Y-95704166D01*
|
||||
X155616666Y-95637500D01*
|
||||
X155583333Y-95570833D01*
|
||||
X155550000Y-95537500D01*
|
||||
X155483333Y-95504166D01*
|
||||
X155316666Y-95504166D01*
|
||||
X155216666Y-95537500D01*
|
||||
X155016666Y-95737500D02*
|
||||
X154750000Y-95737500D01*
|
||||
X154916666Y-95504166D02*
|
||||
X154916666Y-96104166D01*
|
||||
X154883333Y-96170833D01*
|
||||
X154816666Y-96204166D01*
|
||||
X154750000Y-96204166D01*
|
||||
X154216666Y-95737500D02*
|
||||
X154216666Y-96204166D01*
|
||||
X154516666Y-95737500D02*
|
||||
X154516666Y-96104166D01*
|
||||
X154483333Y-96170833D01*
|
||||
X154416666Y-96204166D01*
|
||||
X154316666Y-96204166D01*
|
||||
X154250000Y-96170833D01*
|
||||
X154216666Y-96137500D01*
|
||||
X153583333Y-96204166D02*
|
||||
X153583333Y-95504166D01*
|
||||
X153583333Y-96170833D02*
|
||||
X153650000Y-96204166D01*
|
||||
X153783333Y-96204166D01*
|
||||
X156883333Y-96795833D01*
|
||||
X156850000Y-96762500D01*
|
||||
X156883333Y-96729166D01*
|
||||
X156883333Y-96795833D01*
|
||||
X156450000Y-97429166D02*
|
||||
X156516666Y-97395833D01*
|
||||
X156550000Y-97329166D01*
|
||||
X156550000Y-96729166D01*
|
||||
X156183333Y-96962500D02*
|
||||
X155650000Y-97162500D01*
|
||||
X156183333Y-97362500D01*
|
||||
X154883333Y-96729166D02*
|
||||
X154483333Y-96729166D01*
|
||||
X154683333Y-97429166D02*
|
||||
X154683333Y-96729166D01*
|
||||
X154250000Y-97429166D02*
|
||||
X154250000Y-96962500D01*
|
||||
X154250000Y-97095833D02*
|
||||
X154216666Y-97029166D01*
|
||||
X154183333Y-96995833D01*
|
||||
X154116666Y-96962500D01*
|
||||
X154050000Y-96962500D01*
|
||||
X153516666Y-97429166D02*
|
||||
X153516666Y-97062500D01*
|
||||
X153550000Y-96995833D01*
|
||||
X153616666Y-96962500D01*
|
||||
X153750000Y-96962500D01*
|
||||
X153816666Y-96995833D01*
|
||||
X153516666Y-97395833D02*
|
||||
X153583333Y-97429166D01*
|
||||
X153750000Y-97429166D01*
|
||||
X153816666Y-97395833D01*
|
||||
X153850000Y-97329166D01*
|
||||
X153850000Y-97262500D01*
|
||||
X153816666Y-97195833D01*
|
||||
X153750000Y-97162500D01*
|
||||
X153583333Y-97162500D01*
|
||||
X153516666Y-97129166D01*
|
||||
X153183333Y-96962500D02*
|
||||
X153183333Y-97662500D01*
|
||||
X153183333Y-96995833D02*
|
||||
X153116666Y-96962500D01*
|
||||
X152983333Y-96962500D01*
|
||||
X152916666Y-96995833D01*
|
||||
X152883333Y-97029166D01*
|
||||
X152850000Y-97095833D01*
|
||||
X152850000Y-97295833D01*
|
||||
X152883333Y-97362500D01*
|
||||
X152916666Y-97395833D01*
|
||||
X152983333Y-97429166D01*
|
||||
X153116666Y-97429166D01*
|
||||
X153183333Y-97395833D01*
|
||||
X152550000Y-97429166D02*
|
||||
X152550000Y-96962500D01*
|
||||
X152550000Y-96729166D02*
|
||||
X152583333Y-96762500D01*
|
||||
X152550000Y-96795833D01*
|
||||
X152516666Y-96762500D01*
|
||||
X152550000Y-96729166D01*
|
||||
X152550000Y-96795833D01*
|
||||
X151950000Y-97395833D02*
|
||||
X152016666Y-97429166D01*
|
||||
X152150000Y-97429166D01*
|
||||
X152216666Y-97395833D01*
|
||||
X152250000Y-97329166D01*
|
||||
X152250000Y-97062500D01*
|
||||
X152216666Y-96995833D01*
|
||||
X152150000Y-96962500D01*
|
||||
X152016666Y-96962500D01*
|
||||
X151950000Y-96995833D01*
|
||||
X151916666Y-97062500D01*
|
||||
X151916666Y-97129166D01*
|
||||
X152250000Y-97195833D01*
|
||||
X151616666Y-97429166D02*
|
||||
X151616666Y-96962500D01*
|
||||
X151616666Y-97095833D02*
|
||||
X151583333Y-97029166D01*
|
||||
X151550000Y-96995833D01*
|
||||
X151483333Y-96962500D01*
|
||||
X151416666Y-96962500D01*
|
||||
D12*
|
||||
X175640000Y-81600000D03*
|
||||
D13*
|
||||
X173100000Y-81600000D03*
|
||||
X170560000Y-81600000D03*
|
||||
D14*
|
||||
X184000000Y-86460000D03*
|
||||
D15*
|
||||
X184000000Y-89000000D03*
|
||||
X184000000Y-91540000D03*
|
||||
D16*
|
||||
X152900000Y-88350000D03*
|
||||
X152900000Y-90350000D03*
|
||||
X152900000Y-92850000D03*
|
||||
X152900000Y-85850000D03*
|
||||
D17*
|
||||
X150800000Y-83500000D03*
|
||||
X150800000Y-95200000D03*
|
||||
D18*
|
||||
X173700000Y-89200000D03*
|
||||
X162300004Y-87000000D03*
|
||||
X159600000Y-82700000D03*
|
||||
X161700000Y-94600000D03*
|
||||
X176200000Y-96600000D03*
|
||||
X179600000Y-91700000D03*
|
||||
X158100000Y-83900000D03*
|
||||
X168600000Y-89399998D03*
|
||||
X167200000Y-85000000D03*
|
||||
X159600000Y-81100000D03*
|
||||
X163800000Y-81100000D03*
|
||||
D19*
|
||||
X159300000Y-87400000D03*
|
||||
X167300000Y-96600000D03*
|
||||
X167300000Y-94500000D03*
|
||||
X160900000Y-87400000D03*
|
||||
D18*
|
||||
X174900000Y-90299999D03*
|
||||
X174900000Y-85300000D03*
|
||||
D19*
|
||||
X166500002Y-90900000D03*
|
||||
X177200000Y-90200000D03*
|
||||
X168000000Y-87400000D03*
|
||||
X173800000Y-87400000D03*
|
||||
D18*
|
||||
X154500000Y-89792900D03*
|
||||
X154500000Y-88907100D03*
|
||||
D20*
|
||||
X167200000Y-87999998D02*
|
||||
X168257101Y-89057099D01*
|
||||
X167200000Y-85000000D02*
|
||||
X167200000Y-87999998D01*
|
||||
X168257101Y-89057099D02*
|
||||
X168600000Y-89399998D01*
|
||||
D21*
|
||||
X163800000Y-81100000D02*
|
||||
X159600000Y-81100000D01*
|
||||
D22*
|
||||
X159300000Y-87965685D02*
|
||||
X159300000Y-87400000D01*
|
||||
X159300000Y-88600000D02*
|
||||
X159300000Y-87965685D01*
|
||||
X167300000Y-96600000D02*
|
||||
X159300000Y-88600000D01*
|
||||
X167300000Y-94500000D02*
|
||||
X160900000Y-88100000D01*
|
||||
X160900000Y-88100000D02*
|
||||
X160900000Y-87400000D01*
|
||||
D23*
|
||||
X174900000Y-85300000D02*
|
||||
X174900000Y-90299999D01*
|
||||
D22*
|
||||
X177200000Y-90200000D02*
|
||||
X175300000Y-92100000D01*
|
||||
X175300000Y-92100000D02*
|
||||
X167700002Y-92100000D01*
|
||||
X167700002Y-92100000D02*
|
||||
X166500002Y-90900000D01*
|
||||
X173800000Y-87400000D02*
|
||||
X168000000Y-87400000D01*
|
||||
X154500000Y-88907100D02*
|
||||
X154342900Y-88907100D01*
|
||||
X154342900Y-88907100D02*
|
||||
X152900000Y-90350000D01*
|
||||
D24*
|
||||
G36*
|
||||
X159316814Y-80416329D02*
|
||||
X159076741Y-80576741D01*
|
||||
X158916329Y-80816814D01*
|
||||
X158860000Y-81100000D01*
|
||||
X158916329Y-81383186D01*
|
||||
X159076741Y-81623259D01*
|
||||
X159316814Y-81783671D01*
|
||||
X159600000Y-81840000D01*
|
||||
X163800000Y-81840000D01*
|
||||
X164083186Y-81783671D01*
|
||||
X176823872Y-82748661D01*
|
||||
X176850260Y-82616000D01*
|
||||
X176850260Y-82265373D01*
|
||||
X151860838Y-81760869D01*
|
||||
X151114549Y-81487287D01*
|
||||
X150320374Y-81520123D01*
|
||||
X149739162Y-81760869D01*
|
||||
X149586248Y-82054317D01*
|
||||
X148415000Y-82054317D01*
|
||||
X148415000Y-81040874D01*
|
||||
X148467041Y-80779242D01*
|
||||
X148592092Y-80592091D01*
|
||||
X148779241Y-80467042D01*
|
||||
X149040874Y-80415000D01*
|
||||
X159323495Y-80415000D01*
|
||||
X159316814Y-80416329D01*
|
||||
X159316814Y-80416329D01*
|
||||
G37*
|
||||
X159316814Y-80416329D02*
|
||||
X159076741Y-80576741D01*
|
||||
X158916329Y-80816814D01*
|
||||
X158860000Y-81100000D01*
|
||||
X158916329Y-81383186D01*
|
||||
X159076741Y-81623259D01*
|
||||
X159323495Y-80415000D01*
|
||||
X159316814Y-80416329D01*
|
||||
M02*
|
||||
40
samples/Gerber Image/FelinaePurr-B.Mask.gbs
Normal file
40
samples/Gerber Image/FelinaePurr-B.Mask.gbs
Normal file
@@ -0,0 +1,40 @@
|
||||
G04 #@! TF.FileFunction,Soldermask,Bot*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (2016-07-14 BZR 6980)-product) date Sunday, 23 April 2017 'PMt' 23:49:01*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11R,1.727200X2.032000*%
|
||||
%ADD12O,1.727200X2.032000*%
|
||||
%ADD13R,2.032000X1.727200*%
|
||||
%ADD14O,2.032000X1.727200*%
|
||||
%ADD15C,1.300000*%
|
||||
%ADD16C,2.800000*%
|
||||
%ADD17C,1.200000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X175640000Y-81600000D03*
|
||||
D12*
|
||||
X173100000Y-81600000D03*
|
||||
X170560000Y-81600000D03*
|
||||
D13*
|
||||
X184000000Y-86460000D03*
|
||||
D14*
|
||||
X184000000Y-89000000D03*
|
||||
X184000000Y-91540000D03*
|
||||
D15*
|
||||
X152900000Y-88350000D03*
|
||||
X152900000Y-90350000D03*
|
||||
X152900000Y-92850000D03*
|
||||
X152900000Y-85850000D03*
|
||||
D16*
|
||||
X150800000Y-83500000D03*
|
||||
X150800000Y-95200000D03*
|
||||
D17*
|
||||
X150800000Y-87100000D03*
|
||||
X150800000Y-91600000D03*
|
||||
M02*
|
||||
245
samples/Gerber Image/FelinaePurr-B.SilkS.gbo
Normal file
245
samples/Gerber Image/FelinaePurr-B.SilkS.gbo
Normal file
@@ -0,0 +1,245 @@
|
||||
G04 #@! TF.FileFunction,Legend,Bot*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (2016-07-14 BZR 6980)-product) date Sunday, 23 April 2017 'PMt' 23:49:01*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11C,0.175000*%
|
||||
%ADD12C,0.375000*%
|
||||
%ADD13C,0.254000*%
|
||||
%ADD14R,1.727200X2.032000*%
|
||||
%ADD15O,1.727200X2.032000*%
|
||||
%ADD16R,2.032000X1.727200*%
|
||||
%ADD17O,2.032000X1.727200*%
|
||||
%ADD18C,1.300000*%
|
||||
%ADD19C,2.800000*%
|
||||
%ADD20C,1.200000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X164233333Y-82450000D02*
|
||||
X164133333Y-82483333D01*
|
||||
X164100000Y-82516666D01*
|
||||
X164066666Y-82583333D01*
|
||||
X164066666Y-82683333D01*
|
||||
X164100000Y-82750000D01*
|
||||
X164133333Y-82783333D01*
|
||||
X164200000Y-82816666D01*
|
||||
X164466666Y-82816666D01*
|
||||
X164466666Y-82116666D01*
|
||||
X164233333Y-82116666D01*
|
||||
X164166666Y-82150000D01*
|
||||
X164133333Y-82183333D01*
|
||||
X164100000Y-82250000D01*
|
||||
X164100000Y-82316666D01*
|
||||
X164133333Y-82383333D01*
|
||||
X164166666Y-82416666D01*
|
||||
X164233333Y-82450000D01*
|
||||
X164466666Y-82450000D01*
|
||||
X163666666Y-82816666D02*
|
||||
X163733333Y-82783333D01*
|
||||
X163766666Y-82750000D01*
|
||||
X163800000Y-82683333D01*
|
||||
X163800000Y-82483333D01*
|
||||
X163766666Y-82416666D01*
|
||||
X163733333Y-82383333D01*
|
||||
X163666666Y-82350000D01*
|
||||
X163566666Y-82350000D01*
|
||||
X163500000Y-82383333D01*
|
||||
X163466666Y-82416666D01*
|
||||
X163433333Y-82483333D01*
|
||||
X163433333Y-82683333D01*
|
||||
X163466666Y-82750000D01*
|
||||
X163500000Y-82783333D01*
|
||||
X163566666Y-82816666D01*
|
||||
X163666666Y-82816666D01*
|
||||
X162833333Y-82816666D02*
|
||||
X162833333Y-82450000D01*
|
||||
X162866666Y-82383333D01*
|
||||
X162933333Y-82350000D01*
|
||||
X163066666Y-82350000D01*
|
||||
X163133333Y-82383333D01*
|
||||
X162833333Y-82783333D02*
|
||||
X162900000Y-82816666D01*
|
||||
X163066666Y-82816666D01*
|
||||
X163133333Y-82783333D01*
|
||||
X163166666Y-82716666D01*
|
||||
X163166666Y-82650000D01*
|
||||
X163133333Y-82583333D01*
|
||||
X163066666Y-82550000D01*
|
||||
X162900000Y-82550000D01*
|
||||
X162833333Y-82516666D01*
|
||||
X162500000Y-82816666D02*
|
||||
X162500000Y-82350000D01*
|
||||
X162500000Y-82483333D02*
|
||||
X162466666Y-82416666D01*
|
||||
X162433333Y-82383333D01*
|
||||
X162366666Y-82350000D01*
|
||||
X162300000Y-82350000D01*
|
||||
X161766666Y-82816666D02*
|
||||
X161766666Y-82116666D01*
|
||||
X161766666Y-82783333D02*
|
||||
X161833333Y-82816666D01*
|
||||
X161966666Y-82816666D01*
|
||||
X162033333Y-82783333D01*
|
||||
X162066666Y-82750000D01*
|
||||
X162100000Y-82683333D01*
|
||||
X162100000Y-82483333D01*
|
||||
X162066666Y-82416666D01*
|
||||
X162033333Y-82383333D01*
|
||||
X161966666Y-82350000D01*
|
||||
X161833333Y-82350000D01*
|
||||
X161766666Y-82383333D01*
|
||||
X160933333Y-82350000D02*
|
||||
X160433333Y-82350000D01*
|
||||
X160733333Y-82050000D02*
|
||||
X160933333Y-82950000D01*
|
||||
X160500000Y-82650000D02*
|
||||
X161000000Y-82650000D01*
|
||||
X160700000Y-82950000D02*
|
||||
X160500000Y-82050000D01*
|
||||
D12*
|
||||
X181899107Y-86482142D02*
|
||||
X180756250Y-86482142D01*
|
||||
X181327678Y-87053571D02*
|
||||
X181327678Y-85910714D01*
|
||||
X179327678Y-85553571D02*
|
||||
X180041964Y-85553571D01*
|
||||
X180113392Y-86267857D01*
|
||||
X180041964Y-86196428D01*
|
||||
X179899107Y-86125000D01*
|
||||
X179541964Y-86125000D01*
|
||||
X179399107Y-86196428D01*
|
||||
X179327678Y-86267857D01*
|
||||
X179256250Y-86410714D01*
|
||||
X179256250Y-86767857D01*
|
||||
X179327678Y-86910714D01*
|
||||
X179399107Y-86982142D01*
|
||||
X179541964Y-87053571D01*
|
||||
X179899107Y-87053571D01*
|
||||
X180041964Y-86982142D01*
|
||||
X180113392Y-86910714D01*
|
||||
X178827678Y-85553571D02*
|
||||
X178327678Y-87053571D01*
|
||||
X177827678Y-85553571D01*
|
||||
X176184821Y-87053571D02*
|
||||
X176184821Y-85553571D01*
|
||||
X175827678Y-85553571D01*
|
||||
X175613392Y-85625000D01*
|
||||
X175470535Y-85767857D01*
|
||||
X175399107Y-85910714D01*
|
||||
X175327678Y-86196428D01*
|
||||
X175327678Y-86410714D01*
|
||||
X175399107Y-86696428D01*
|
||||
X175470535Y-86839285D01*
|
||||
X175613392Y-86982142D01*
|
||||
X175827678Y-87053571D01*
|
||||
X176184821Y-87053571D01*
|
||||
X174684821Y-86267857D02*
|
||||
X174184821Y-86267857D01*
|
||||
X173970535Y-87053571D02*
|
||||
X174684821Y-87053571D01*
|
||||
X174684821Y-85553571D01*
|
||||
X173970535Y-85553571D01*
|
||||
X173541964Y-85553571D02*
|
||||
X173041964Y-87053571D01*
|
||||
X172541964Y-85553571D01*
|
||||
X181041964Y-89678571D02*
|
||||
X181541964Y-88964285D01*
|
||||
X181899107Y-89678571D02*
|
||||
X181899107Y-88178571D01*
|
||||
X181327678Y-88178571D01*
|
||||
X181184821Y-88250000D01*
|
||||
X181113392Y-88321428D01*
|
||||
X181041964Y-88464285D01*
|
||||
X181041964Y-88678571D01*
|
||||
X181113392Y-88821428D01*
|
||||
X181184821Y-88892857D01*
|
||||
X181327678Y-88964285D01*
|
||||
X181899107Y-88964285D01*
|
||||
X180541964Y-88178571D02*
|
||||
X179541964Y-89678571D01*
|
||||
X179541964Y-88178571D02*
|
||||
X180541964Y-89678571D01*
|
||||
X179184821Y-88178571D02*
|
||||
X178327678Y-88178571D01*
|
||||
X178756250Y-89678571D02*
|
||||
X178756250Y-88178571D01*
|
||||
X177970535Y-88178571D02*
|
||||
X176970535Y-89678571D01*
|
||||
X176970535Y-88178571D02*
|
||||
X177970535Y-89678571D01*
|
||||
X181113392Y-90875000D02*
|
||||
X181256250Y-90803571D01*
|
||||
X181470535Y-90803571D01*
|
||||
X181684821Y-90875000D01*
|
||||
X181827678Y-91017857D01*
|
||||
X181899107Y-91160714D01*
|
||||
X181970535Y-91446428D01*
|
||||
X181970535Y-91660714D01*
|
||||
X181899107Y-91946428D01*
|
||||
X181827678Y-92089285D01*
|
||||
X181684821Y-92232142D01*
|
||||
X181470535Y-92303571D01*
|
||||
X181327678Y-92303571D01*
|
||||
X181113392Y-92232142D01*
|
||||
X181041964Y-92160714D01*
|
||||
X181041964Y-91660714D01*
|
||||
X181327678Y-91660714D01*
|
||||
X180399107Y-92303571D02*
|
||||
X180399107Y-90803571D01*
|
||||
X179541964Y-92303571D01*
|
||||
X179541964Y-90803571D01*
|
||||
X178827678Y-92303571D02*
|
||||
X178827678Y-90803571D01*
|
||||
X178470535Y-90803571D01*
|
||||
X178256250Y-90875000D01*
|
||||
X178113392Y-91017857D01*
|
||||
X178041964Y-91160714D01*
|
||||
X177970535Y-91446428D01*
|
||||
X177970535Y-91660714D01*
|
||||
X178041964Y-91946428D01*
|
||||
X178113392Y-92089285D01*
|
||||
X178256250Y-92232142D01*
|
||||
X178470535Y-92303571D01*
|
||||
X178827678Y-92303571D01*
|
||||
D13*
|
||||
G36*
|
||||
X164873000Y-87373000D02*
|
||||
X154627000Y-87373000D01*
|
||||
X154627000Y-83127000D01*
|
||||
X164873000Y-83127000D01*
|
||||
X164873000Y-87373000D01*
|
||||
X164873000Y-87373000D01*
|
||||
G37*
|
||||
X164873000Y-87373000D02*
|
||||
X154627000Y-87373000D01*
|
||||
X154627000Y-83127000D01*
|
||||
X164873000Y-83127000D01*
|
||||
X164873000Y-87373000D01*
|
||||
%LPC*%
|
||||
D14*
|
||||
X175640000Y-81600000D03*
|
||||
D15*
|
||||
X173100000Y-81600000D03*
|
||||
X170560000Y-81600000D03*
|
||||
D16*
|
||||
X184000000Y-86460000D03*
|
||||
D17*
|
||||
X184000000Y-89000000D03*
|
||||
X184000000Y-91540000D03*
|
||||
D18*
|
||||
X152900000Y-88350000D03*
|
||||
X152900000Y-90350000D03*
|
||||
X152900000Y-92850000D03*
|
||||
X152900000Y-85850000D03*
|
||||
D19*
|
||||
X150800000Y-83500000D03*
|
||||
X150800000Y-95200000D03*
|
||||
D20*
|
||||
X150800000Y-87100000D03*
|
||||
X150800000Y-91600000D03*
|
||||
M02*
|
||||
571
samples/Gerber Image/FelinaePurr-F.Cu.gtl
Normal file
571
samples/Gerber Image/FelinaePurr-F.Cu.gtl
Normal file
@@ -0,0 +1,571 @@
|
||||
G04 #@! TF.FileFunction,Copper,L1,Top,Signal*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (2016-07-14 BZR 6980)-product) date Sunday, 23 April 2017 'PMt' 23:49:01*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11R,0.800000X0.750000*%
|
||||
%ADD12R,0.750000X0.800000*%
|
||||
%ADD13R,1.198880X1.198880*%
|
||||
%ADD14R,1.727200X2.032000*%
|
||||
%ADD15O,1.727200X2.032000*%
|
||||
%ADD16R,0.500000X0.900000*%
|
||||
%ADD17R,0.450000X1.750000*%
|
||||
%ADD18R,1.060000X0.650000*%
|
||||
%ADD19R,2.032000X1.727200*%
|
||||
%ADD20O,2.032000X1.727200*%
|
||||
%ADD21R,0.900000X0.500000*%
|
||||
%ADD22C,1.300000*%
|
||||
%ADD23C,2.800000*%
|
||||
%ADD24C,0.685800*%
|
||||
%ADD25C,0.800000*%
|
||||
%ADD26C,0.500000*%
|
||||
%ADD27C,0.300000*%
|
||||
%ADD28C,0.400000*%
|
||||
%ADD29C,0.800000*%
|
||||
%ADD30C,0.250000*%
|
||||
%ADD31C,0.180000*%
|
||||
%ADD32C,0.160000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X165350000Y-82700000D03*
|
||||
X163850000Y-82700000D03*
|
||||
X162350000Y-82700000D03*
|
||||
X160850000Y-82700000D03*
|
||||
D12*
|
||||
X172700000Y-87350000D03*
|
||||
X172700000Y-88850000D03*
|
||||
D11*
|
||||
X181100000Y-90600000D03*
|
||||
X179600000Y-90600000D03*
|
||||
D13*
|
||||
X168800000Y-94500000D03*
|
||||
X168800000Y-96598040D03*
|
||||
X170800000Y-94500000D03*
|
||||
X170800000Y-96598040D03*
|
||||
X172800000Y-94500000D03*
|
||||
X172800000Y-96598040D03*
|
||||
D14*
|
||||
X175640000Y-81600000D03*
|
||||
D15*
|
||||
X173100000Y-81600000D03*
|
||||
X170560000Y-81600000D03*
|
||||
D16*
|
||||
X181100000Y-89000000D03*
|
||||
X179600000Y-89000000D03*
|
||||
X179600000Y-87300000D03*
|
||||
X181100000Y-87300000D03*
|
||||
D17*
|
||||
X156775000Y-92600000D03*
|
||||
X157425000Y-92600000D03*
|
||||
X158075000Y-92600000D03*
|
||||
X158725000Y-92600000D03*
|
||||
X159375000Y-92600000D03*
|
||||
X160025000Y-92600000D03*
|
||||
X160675000Y-92600000D03*
|
||||
X161325000Y-92600000D03*
|
||||
X161975000Y-92600000D03*
|
||||
X162625000Y-92600000D03*
|
||||
X163275000Y-92600000D03*
|
||||
X163925000Y-92600000D03*
|
||||
X164575000Y-92600000D03*
|
||||
X165225000Y-92600000D03*
|
||||
X165225000Y-85400000D03*
|
||||
X164575000Y-85400000D03*
|
||||
X163925000Y-85400000D03*
|
||||
X163275000Y-85400000D03*
|
||||
X162625000Y-85400000D03*
|
||||
X161975000Y-85400000D03*
|
||||
X161325000Y-85400000D03*
|
||||
X160675000Y-85400000D03*
|
||||
X160025000Y-85400000D03*
|
||||
X159375000Y-85400000D03*
|
||||
X158725000Y-85400000D03*
|
||||
X158075000Y-85400000D03*
|
||||
X157425000Y-85400000D03*
|
||||
X156775000Y-85400000D03*
|
||||
D18*
|
||||
X175000000Y-87150000D03*
|
||||
X175000000Y-88100000D03*
|
||||
X175000000Y-89050000D03*
|
||||
X177200000Y-89050000D03*
|
||||
X177200000Y-87150000D03*
|
||||
D19*
|
||||
X184000000Y-86460000D03*
|
||||
D20*
|
||||
X184000000Y-89000000D03*
|
||||
X184000000Y-91540000D03*
|
||||
D13*
|
||||
X174900000Y-94501960D03*
|
||||
X174900000Y-96600000D03*
|
||||
D11*
|
||||
X159000000Y-94600000D03*
|
||||
X160500000Y-94600000D03*
|
||||
X162350000Y-81100000D03*
|
||||
X160850000Y-81100000D03*
|
||||
D21*
|
||||
X171150000Y-88600000D03*
|
||||
X171150000Y-90100000D03*
|
||||
X169550000Y-88600000D03*
|
||||
X169550000Y-90100000D03*
|
||||
X168800000Y-91300000D03*
|
||||
X168800000Y-92800000D03*
|
||||
X170800000Y-91300000D03*
|
||||
X170800000Y-92800000D03*
|
||||
X172800000Y-91300000D03*
|
||||
X172800000Y-92800000D03*
|
||||
X174900000Y-91300000D03*
|
||||
X174900000Y-92800000D03*
|
||||
X176600000Y-91300000D03*
|
||||
X176600000Y-92800000D03*
|
||||
D22*
|
||||
X152900000Y-88350000D03*
|
||||
X152900000Y-90350000D03*
|
||||
X152900000Y-92850000D03*
|
||||
X152900000Y-85850000D03*
|
||||
D23*
|
||||
X150800000Y-83500000D03*
|
||||
X150800000Y-95200000D03*
|
||||
D24*
|
||||
X173700000Y-89200000D03*
|
||||
X162300004Y-87000000D03*
|
||||
X159600000Y-82700000D03*
|
||||
X161700000Y-94600000D03*
|
||||
X176200000Y-96600000D03*
|
||||
X179600000Y-91700000D03*
|
||||
X158100000Y-83900000D03*
|
||||
X168600000Y-89399998D03*
|
||||
X167200000Y-85000000D03*
|
||||
X159600000Y-81100000D03*
|
||||
X163800000Y-81100000D03*
|
||||
D25*
|
||||
X159300000Y-87400000D03*
|
||||
X167300000Y-96600000D03*
|
||||
X167300000Y-94500000D03*
|
||||
X160900000Y-87400000D03*
|
||||
D24*
|
||||
X174900000Y-90299999D03*
|
||||
X174900000Y-85300000D03*
|
||||
D25*
|
||||
X166500002Y-90900000D03*
|
||||
X177200000Y-90200000D03*
|
||||
X168000000Y-87400000D03*
|
||||
X173800000Y-87400000D03*
|
||||
D24*
|
||||
X154500000Y-89792900D03*
|
||||
X154500000Y-88907100D03*
|
||||
D26*
|
||||
X165325000Y-82700000D02*
|
||||
X165325000Y-83475000D01*
|
||||
X165325000Y-83475000D02*
|
||||
X164900000Y-83900000D01*
|
||||
X164900000Y-83900000D02*
|
||||
X164250677Y-83900000D01*
|
||||
X163947598Y-84375049D02*
|
||||
X163927410Y-84395237D01*
|
||||
X164250677Y-83900000D02*
|
||||
X163947598Y-84203079D01*
|
||||
X163947598Y-84203079D02*
|
||||
X163947598Y-84375049D01*
|
||||
X163927410Y-84395237D02*
|
||||
X163927410Y-85400000D01*
|
||||
D27*
|
||||
X165325000Y-82700000D02*
|
||||
X165325000Y-82826415D01*
|
||||
D26*
|
||||
X165350000Y-82700000D02*
|
||||
X165325000Y-82700000D01*
|
||||
X172700000Y-88850000D02*
|
||||
X173350000Y-88850000D01*
|
||||
X173350000Y-88850000D02*
|
||||
X173700000Y-89200000D01*
|
||||
X175000000Y-89050000D02*
|
||||
X173850000Y-89050000D01*
|
||||
X173850000Y-89050000D02*
|
||||
X173700000Y-89200000D01*
|
||||
X175000000Y-88100000D02*
|
||||
X175000000Y-89050000D01*
|
||||
X163850000Y-82700000D02*
|
||||
X163850000Y-83378030D01*
|
||||
X163850000Y-83378030D02*
|
||||
X163295188Y-83932842D01*
|
||||
X163275000Y-84125000D02*
|
||||
X163295188Y-84104812D01*
|
||||
X163295188Y-84104812D02*
|
||||
X163295188Y-83932842D01*
|
||||
X163275000Y-85400000D02*
|
||||
X163275000Y-84125000D01*
|
||||
X160850000Y-82700000D02*
|
||||
X160850000Y-83575000D01*
|
||||
X160850000Y-83575000D02*
|
||||
X160875000Y-83600000D01*
|
||||
X160875000Y-83600000D02*
|
||||
X160900000Y-83600000D01*
|
||||
X161325000Y-85400000D02*
|
||||
X161325000Y-84025000D01*
|
||||
X161325000Y-84025000D02*
|
||||
X160900000Y-83600000D01*
|
||||
X160675000Y-92600000D02*
|
||||
X160675000Y-93800000D01*
|
||||
X160500000Y-94600000D02*
|
||||
X160500000Y-93975000D01*
|
||||
X160500000Y-93975000D02*
|
||||
X160675000Y-93800000D01*
|
||||
X163275000Y-85400000D02*
|
||||
X163275000Y-86509937D01*
|
||||
X163275000Y-86509937D02*
|
||||
X162784937Y-87000000D01*
|
||||
X162784937Y-87000000D02*
|
||||
X162300004Y-87000000D01*
|
||||
X161325000Y-86509929D02*
|
||||
X161815071Y-87000000D01*
|
||||
X161325000Y-85400000D02*
|
||||
X161325000Y-86509929D01*
|
||||
X161815071Y-87000000D02*
|
||||
X162300004Y-87000000D01*
|
||||
X159700000Y-82700000D02*
|
||||
X159600000Y-82700000D01*
|
||||
X160850000Y-82700000D02*
|
||||
X159700000Y-82700000D01*
|
||||
X160850000Y-82700000D02*
|
||||
X160850000Y-81100000D01*
|
||||
X160500000Y-94600000D02*
|
||||
X161700000Y-94600000D01*
|
||||
X158075000Y-85400000D02*
|
||||
X158075000Y-83925000D01*
|
||||
X158075000Y-83925000D02*
|
||||
X158100000Y-83900000D01*
|
||||
X158075000Y-85400000D02*
|
||||
X158725000Y-85400000D01*
|
||||
X179600000Y-90600000D02*
|
||||
X179600000Y-91700000D01*
|
||||
X174900000Y-96600000D02*
|
||||
X176200000Y-96600000D01*
|
||||
X172800000Y-96598040D02*
|
||||
X174898040Y-96598040D01*
|
||||
X174898040Y-96598040D02*
|
||||
X174900000Y-96600000D01*
|
||||
X169250000Y-85000000D02*
|
||||
X170560000Y-83690000D01*
|
||||
X170560000Y-83690000D02*
|
||||
X170560000Y-81600000D01*
|
||||
X167200000Y-85000000D02*
|
||||
X169250000Y-85000000D01*
|
||||
X168600000Y-90500000D02*
|
||||
X168600000Y-89399998D01*
|
||||
X168800000Y-91300000D02*
|
||||
X168800000Y-90700000D01*
|
||||
X168800000Y-90700000D02*
|
||||
X168600000Y-90500000D01*
|
||||
D28*
|
||||
X170500000Y-88600000D02*
|
||||
X171150000Y-88600000D01*
|
||||
D26*
|
||||
X169550000Y-88600000D02*
|
||||
X170500000Y-88600000D01*
|
||||
X168600000Y-89399998D02*
|
||||
X168750002Y-89399998D01*
|
||||
X168750002Y-89399998D02*
|
||||
X169550000Y-88600000D01*
|
||||
X162350000Y-82700000D02*
|
||||
X162350000Y-83575000D01*
|
||||
X162350000Y-83575000D02*
|
||||
X161977410Y-83947590D01*
|
||||
X161977410Y-83947590D02*
|
||||
X161977410Y-85400000D01*
|
||||
D29*
|
||||
X162350000Y-81100000D02*
|
||||
X163800000Y-81100000D01*
|
||||
D30*
|
||||
X174222599Y-89677401D02*
|
||||
X175726921Y-89677401D01*
|
||||
X175726921Y-89677401D02*
|
||||
X176250000Y-89154322D01*
|
||||
X176250000Y-89154322D02*
|
||||
X176250000Y-88675000D01*
|
||||
X176250000Y-88675000D02*
|
||||
X177200000Y-87725000D01*
|
||||
X177200000Y-87725000D02*
|
||||
X177200000Y-87150000D01*
|
||||
D26*
|
||||
X177200000Y-87150000D02*
|
||||
X179450000Y-87150000D01*
|
||||
X179450000Y-87150000D02*
|
||||
X179600000Y-87300000D01*
|
||||
X159000000Y-94600000D02*
|
||||
X159000000Y-94000000D01*
|
||||
X159000000Y-94000000D02*
|
||||
X158725000Y-93725000D01*
|
||||
X158725000Y-93725000D02*
|
||||
X158725000Y-92600000D01*
|
||||
D28*
|
||||
X174222599Y-89677401D02*
|
||||
X173800000Y-90100000D01*
|
||||
X159600000Y-96600000D02*
|
||||
X159000000Y-96000000D01*
|
||||
D27*
|
||||
X181100000Y-87300000D02*
|
||||
X181100000Y-89000000D01*
|
||||
X181100000Y-90600000D02*
|
||||
X181100000Y-89000000D01*
|
||||
X181100000Y-89000000D02*
|
||||
X184000000Y-89000000D01*
|
||||
D26*
|
||||
X168800000Y-94500000D02*
|
||||
X168800000Y-92800000D01*
|
||||
X168800000Y-96598040D02*
|
||||
X167301960Y-96598040D01*
|
||||
X167301960Y-96598040D02*
|
||||
X167300000Y-96600000D01*
|
||||
D27*
|
||||
X159300000Y-87400000D02*
|
||||
X160025000Y-86675000D01*
|
||||
X160025000Y-86675000D02*
|
||||
X160025000Y-85400000D01*
|
||||
D26*
|
||||
X170800000Y-92800000D02*
|
||||
X170800000Y-94500000D01*
|
||||
X167300000Y-94500000D02*
|
||||
X167300000Y-95065685D01*
|
||||
X167300000Y-95065685D02*
|
||||
X167734314Y-95499999D01*
|
||||
X167734314Y-95499999D02*
|
||||
X167876797Y-95499999D01*
|
||||
X167876797Y-95499999D02*
|
||||
X167878639Y-95501841D01*
|
||||
X167878639Y-95501841D02*
|
||||
X170603241Y-95501841D01*
|
||||
X170603241Y-95501841D02*
|
||||
X170800000Y-95698600D01*
|
||||
X170800000Y-95698600D02*
|
||||
X170800000Y-96598040D01*
|
||||
D27*
|
||||
X160675000Y-85400000D02*
|
||||
X160675000Y-86400000D01*
|
||||
X160900000Y-86900000D02*
|
||||
X160675000Y-86675000D01*
|
||||
X160675000Y-86675000D02*
|
||||
X160675000Y-86400000D01*
|
||||
X160900000Y-87400000D02*
|
||||
X160900000Y-86900000D01*
|
||||
D26*
|
||||
X172800000Y-92800000D02*
|
||||
X172800000Y-94500000D01*
|
||||
D27*
|
||||
X175640000Y-81600000D02*
|
||||
X175640000Y-84560000D01*
|
||||
X175640000Y-84560000D02*
|
||||
X174900000Y-85300000D01*
|
||||
D26*
|
||||
X176600000Y-91300000D02*
|
||||
X175599999Y-90299999D01*
|
||||
X175599999Y-90299999D02*
|
||||
X174900000Y-90299999D01*
|
||||
D29*
|
||||
X175640000Y-81600000D02*
|
||||
X180803600Y-81600000D01*
|
||||
X180803600Y-81600000D02*
|
||||
X184000000Y-84796400D01*
|
||||
X184000000Y-84796400D02*
|
||||
X184000000Y-86460000D01*
|
||||
D26*
|
||||
X174900000Y-92800000D02*
|
||||
X174900000Y-94501960D01*
|
||||
D27*
|
||||
X165934317Y-90900000D02*
|
||||
X166500002Y-90900000D01*
|
||||
X159900000Y-90900000D02*
|
||||
X165934317Y-90900000D01*
|
||||
X159375000Y-91425000D02*
|
||||
X159900000Y-90900000D01*
|
||||
X159375000Y-92600000D02*
|
||||
X159375000Y-91425000D01*
|
||||
X177200000Y-90200000D02*
|
||||
X177200000Y-89050000D01*
|
||||
X177200000Y-89050000D02*
|
||||
X179550000Y-89050000D01*
|
||||
X179550000Y-89050000D02*
|
||||
X179600000Y-89000000D01*
|
||||
X166000000Y-89400000D02*
|
||||
X167600001Y-87799999D01*
|
||||
X158400000Y-89400000D02*
|
||||
X166000000Y-89400000D01*
|
||||
X167600001Y-87799999D02*
|
||||
X168000000Y-87400000D01*
|
||||
X156775000Y-91025000D02*
|
||||
X158400000Y-89400000D01*
|
||||
X175000000Y-87150000D02*
|
||||
X174050000Y-87150000D01*
|
||||
X174050000Y-87150000D02*
|
||||
X173800000Y-87400000D01*
|
||||
X156775000Y-91025000D02*
|
||||
X156800000Y-91000000D01*
|
||||
X156775000Y-92600000D02*
|
||||
X156775000Y-91025000D01*
|
||||
D26*
|
||||
X169550000Y-90100000D02*
|
||||
X169600000Y-90100000D01*
|
||||
X169600000Y-90100000D02*
|
||||
X170800000Y-91300000D01*
|
||||
X174900000Y-91300000D02*
|
||||
X175100000Y-91300000D01*
|
||||
X175100000Y-91300000D02*
|
||||
X176600000Y-92800000D01*
|
||||
X171150000Y-90100000D02*
|
||||
X171600000Y-90100000D01*
|
||||
X171600000Y-90100000D02*
|
||||
X172800000Y-91300000D01*
|
||||
D27*
|
||||
X154500000Y-89792900D02*
|
||||
X154342900Y-89792900D01*
|
||||
X154342900Y-89792900D02*
|
||||
X152900000Y-88350000D01*
|
||||
X157560197Y-89599999D02*
|
||||
X154692901Y-89599999D01*
|
||||
X154692901Y-89599999D02*
|
||||
X154500000Y-89792900D01*
|
||||
X165225000Y-86712500D02*
|
||||
X165150000Y-86787500D01*
|
||||
X165225000Y-85400000D02*
|
||||
X165225000Y-86712500D01*
|
||||
X165150000Y-86787500D02*
|
||||
X165150000Y-87703552D01*
|
||||
X165150000Y-87703552D02*
|
||||
X163905962Y-88947590D01*
|
||||
X163905962Y-88947590D02*
|
||||
X158212605Y-88947591D01*
|
||||
X158212605Y-88947591D02*
|
||||
X157560197Y-89599999D01*
|
||||
X157353101Y-89100001D02*
|
||||
X154692901Y-89100001D01*
|
||||
X154692901Y-89100001D02*
|
||||
X154500000Y-88907100D01*
|
||||
X164650000Y-86787500D02*
|
||||
X164650000Y-87496448D01*
|
||||
X158005501Y-88447601D02*
|
||||
X157353101Y-89100001D01*
|
||||
X164575000Y-85400000D02*
|
||||
X164575000Y-86712500D01*
|
||||
X164575000Y-86712500D02*
|
||||
X164650000Y-86787500D01*
|
||||
X164650000Y-87496448D02*
|
||||
X163698847Y-88447601D01*
|
||||
X163698847Y-88447601D02*
|
||||
X158005501Y-88447601D01*
|
||||
D31*
|
||||
G36*
|
||||
X161443040Y-80386260D02*
|
||||
X161404451Y-80479422D01*
|
||||
X161363152Y-80451826D01*
|
||||
X161250000Y-80429319D01*
|
||||
X160450000Y-80429319D01*
|
||||
X160336848Y-80451826D01*
|
||||
X160240922Y-80515922D01*
|
||||
X160176826Y-80611848D01*
|
||||
X160154319Y-80725000D01*
|
||||
X160154319Y-81475000D01*
|
||||
X160176826Y-81588152D01*
|
||||
X160240922Y-81684078D01*
|
||||
X160310000Y-81730235D01*
|
||||
X160310000Y-82069765D01*
|
||||
X160240922Y-82115922D01*
|
||||
X160211470Y-82160000D01*
|
||||
X159949905Y-82160000D01*
|
||||
X159726444Y-82067210D01*
|
||||
X159474661Y-82066991D01*
|
||||
X159241959Y-82163141D01*
|
||||
X159063767Y-82341023D01*
|
||||
X158967210Y-82573556D01*
|
||||
X158966991Y-82825339D01*
|
||||
X159063141Y-83058041D01*
|
||||
X159241023Y-83236233D01*
|
||||
X159473556Y-83332790D01*
|
||||
X159725339Y-83333009D01*
|
||||
X159950439Y-83240000D01*
|
||||
X160211470Y-83240000D01*
|
||||
X160240922Y-83284078D01*
|
||||
X160310000Y-83330235D01*
|
||||
X160310000Y-83575000D01*
|
||||
X160351105Y-83781649D01*
|
||||
X160468162Y-83956838D01*
|
||||
X160493160Y-83981835D01*
|
||||
X160493162Y-83981838D01*
|
||||
X160568503Y-84032179D01*
|
||||
X160765644Y-84229319D01*
|
||||
X160450000Y-84229319D01*
|
||||
X160350000Y-84249210D01*
|
||||
X160250000Y-84229319D01*
|
||||
X159800000Y-84229319D01*
|
||||
X159700000Y-84249210D01*
|
||||
X159600000Y-84229319D01*
|
||||
X159150000Y-84229319D01*
|
||||
X159050000Y-84249210D01*
|
||||
X158950000Y-84229319D01*
|
||||
X158648548Y-84229319D01*
|
||||
X158732790Y-84026444D01*
|
||||
X172906000Y-81774000D01*
|
||||
X172906000Y-81426000D01*
|
||||
X172926000Y-81426000D01*
|
||||
X172926000Y-81406000D01*
|
||||
X173274000Y-81406000D01*
|
||||
X173274000Y-81426000D01*
|
||||
X173274000Y-81426000D01*
|
||||
G37*
|
||||
X173274000Y-81426000D02*
|
||||
X180070000Y-89624732D01*
|
||||
X180070000Y-89953439D01*
|
||||
X180000000Y-89939515D01*
|
||||
X179200000Y-89939515D01*
|
||||
X179090750Y-89961246D01*
|
||||
X178998132Y-90023132D01*
|
||||
X178936246Y-90115750D01*
|
||||
X172926000Y-81774000D01*
|
||||
X172906000Y-81774000D01*
|
||||
X172906000Y-81426000D01*
|
||||
X172926000Y-81426000D01*
|
||||
X172926000Y-81406000D01*
|
||||
X173274000Y-81406000D01*
|
||||
X173274000Y-81426000D01*
|
||||
D31*
|
||||
G36*
|
||||
X181810000Y-87900000D02*
|
||||
X181816851Y-87934442D01*
|
||||
X181836360Y-87963640D01*
|
||||
X181865558Y-87983149D01*
|
||||
X181900000Y-87990000D01*
|
||||
X185210000Y-87990000D01*
|
||||
X185210000Y-89910000D01*
|
||||
X182100000Y-89910000D01*
|
||||
X182065558Y-89916851D01*
|
||||
X182036360Y-89936360D01*
|
||||
X182016851Y-89965558D01*
|
||||
X182010000Y-90000000D01*
|
||||
X182010000Y-91310000D01*
|
||||
X180490000Y-91310000D01*
|
||||
X180490000Y-86190000D01*
|
||||
X181810000Y-86190000D01*
|
||||
X181810000Y-87900000D01*
|
||||
X181810000Y-87900000D01*
|
||||
G37*
|
||||
X181810000Y-87900000D02*
|
||||
X181816851Y-87934442D01*
|
||||
X181836360Y-87963640D01*
|
||||
X181865558Y-87983149D01*
|
||||
X181900000Y-87990000D01*
|
||||
X185210000Y-87990000D01*
|
||||
X185210000Y-89910000D01*
|
||||
X182100000Y-89910000D01*
|
||||
X182065558Y-89916851D01*
|
||||
X182036360Y-89936360D01*
|
||||
X182016851Y-89965558D01*
|
||||
X182010000Y-90000000D01*
|
||||
X182010000Y-91310000D01*
|
||||
X180490000Y-91310000D01*
|
||||
X180490000Y-86190000D01*
|
||||
X181810000Y-86190000D01*
|
||||
X181810000Y-87900000D01*
|
||||
M02*
|
||||
128
samples/Gerber Image/FelinaePurr-F.Mask.gts
Normal file
128
samples/Gerber Image/FelinaePurr-F.Mask.gts
Normal file
@@ -0,0 +1,128 @@
|
||||
G04 #@! TF.FileFunction,Soldermask,Top*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (2016-07-14 BZR 6980)-product) date Sunday, 23 April 2017 'PMt' 23:49:01*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11R,0.800000X0.750000*%
|
||||
%ADD12R,0.750000X0.800000*%
|
||||
%ADD13R,1.198880X1.198880*%
|
||||
%ADD14R,1.727200X2.032000*%
|
||||
%ADD15O,1.727200X2.032000*%
|
||||
%ADD16R,0.500000X0.900000*%
|
||||
%ADD17R,0.450000X1.750000*%
|
||||
%ADD18R,1.060000X0.650000*%
|
||||
%ADD19R,2.032000X1.727200*%
|
||||
%ADD20O,2.032000X1.727200*%
|
||||
%ADD21R,0.900000X0.500000*%
|
||||
%ADD22C,1.300000*%
|
||||
%ADD23C,2.800000*%
|
||||
%ADD24C,1.200000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X165350000Y-82700000D03*
|
||||
X163850000Y-82700000D03*
|
||||
X162350000Y-82700000D03*
|
||||
X160850000Y-82700000D03*
|
||||
D12*
|
||||
X172700000Y-87350000D03*
|
||||
X172700000Y-88850000D03*
|
||||
D11*
|
||||
X181100000Y-90600000D03*
|
||||
X179600000Y-90600000D03*
|
||||
D13*
|
||||
X168800000Y-94500000D03*
|
||||
X168800000Y-96598040D03*
|
||||
X170800000Y-94500000D03*
|
||||
X170800000Y-96598040D03*
|
||||
X172800000Y-94500000D03*
|
||||
X172800000Y-96598040D03*
|
||||
D14*
|
||||
X175640000Y-81600000D03*
|
||||
D15*
|
||||
X173100000Y-81600000D03*
|
||||
X170560000Y-81600000D03*
|
||||
D16*
|
||||
X181100000Y-89000000D03*
|
||||
X179600000Y-89000000D03*
|
||||
X179600000Y-87300000D03*
|
||||
X181100000Y-87300000D03*
|
||||
D17*
|
||||
X156775000Y-92600000D03*
|
||||
X157425000Y-92600000D03*
|
||||
X158075000Y-92600000D03*
|
||||
X158725000Y-92600000D03*
|
||||
X159375000Y-92600000D03*
|
||||
X160025000Y-92600000D03*
|
||||
X160675000Y-92600000D03*
|
||||
X161325000Y-92600000D03*
|
||||
X161975000Y-92600000D03*
|
||||
X162625000Y-92600000D03*
|
||||
X163275000Y-92600000D03*
|
||||
X163925000Y-92600000D03*
|
||||
X164575000Y-92600000D03*
|
||||
X165225000Y-92600000D03*
|
||||
X165225000Y-85400000D03*
|
||||
X164575000Y-85400000D03*
|
||||
X163925000Y-85400000D03*
|
||||
X163275000Y-85400000D03*
|
||||
X162625000Y-85400000D03*
|
||||
X161975000Y-85400000D03*
|
||||
X161325000Y-85400000D03*
|
||||
X160675000Y-85400000D03*
|
||||
X160025000Y-85400000D03*
|
||||
X159375000Y-85400000D03*
|
||||
X158725000Y-85400000D03*
|
||||
X158075000Y-85400000D03*
|
||||
X157425000Y-85400000D03*
|
||||
X156775000Y-85400000D03*
|
||||
D18*
|
||||
X175000000Y-87150000D03*
|
||||
X175000000Y-88100000D03*
|
||||
X175000000Y-89050000D03*
|
||||
X177200000Y-89050000D03*
|
||||
X177200000Y-87150000D03*
|
||||
D19*
|
||||
X184000000Y-86460000D03*
|
||||
D20*
|
||||
X184000000Y-89000000D03*
|
||||
X184000000Y-91540000D03*
|
||||
D13*
|
||||
X174900000Y-94501960D03*
|
||||
X174900000Y-96600000D03*
|
||||
D11*
|
||||
X159000000Y-94600000D03*
|
||||
X160500000Y-94600000D03*
|
||||
X162350000Y-81100000D03*
|
||||
X160850000Y-81100000D03*
|
||||
D21*
|
||||
X171150000Y-88600000D03*
|
||||
X171150000Y-90100000D03*
|
||||
X169550000Y-88600000D03*
|
||||
X169550000Y-90100000D03*
|
||||
X168800000Y-91300000D03*
|
||||
X168800000Y-92800000D03*
|
||||
X170800000Y-91300000D03*
|
||||
X170800000Y-92800000D03*
|
||||
X172800000Y-91300000D03*
|
||||
X172800000Y-92800000D03*
|
||||
X174900000Y-91300000D03*
|
||||
X174900000Y-92800000D03*
|
||||
X176600000Y-91300000D03*
|
||||
X176600000Y-92800000D03*
|
||||
D22*
|
||||
X152900000Y-88350000D03*
|
||||
X152900000Y-90350000D03*
|
||||
X152900000Y-92850000D03*
|
||||
X152900000Y-85850000D03*
|
||||
D23*
|
||||
X150800000Y-83500000D03*
|
||||
X150800000Y-95200000D03*
|
||||
D24*
|
||||
X150800000Y-87100000D03*
|
||||
X150800000Y-91600000D03*
|
||||
M02*
|
||||
12
samples/Gerber Image/FelinaePurr-F.Paste.gtp
Normal file
12
samples/Gerber Image/FelinaePurr-F.Paste.gtp
Normal file
@@ -0,0 +1,12 @@
|
||||
G04 #@! TF.FileFunction,Paste,Top*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (2016-07-14 BZR 6980)-product) date Sunday, 23 April 2017 'PMt' 23:49:01*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
M02*
|
||||
255
samples/Gerber Image/FelinaePurr-F.SilkS.gto
Normal file
255
samples/Gerber Image/FelinaePurr-F.SilkS.gto
Normal file
@@ -0,0 +1,255 @@
|
||||
G04 #@! TF.FileFunction,Legend,Top*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (2016-07-14 BZR 6980)-product) date Sunday, 23 April 2017 'PMt' 23:49:01*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11C,0.200000*%
|
||||
%ADD12C,0.500000*%
|
||||
%ADD13C,0.175000*%
|
||||
%ADD14C,0.120000*%
|
||||
%ADD15R,0.800000X0.750000*%
|
||||
%ADD16R,0.750000X0.800000*%
|
||||
%ADD17R,1.198880X1.198880*%
|
||||
%ADD18R,1.727200X2.032000*%
|
||||
%ADD19O,1.727200X2.032000*%
|
||||
%ADD20R,0.500000X0.900000*%
|
||||
%ADD21R,0.450000X1.750000*%
|
||||
%ADD22R,1.060000X0.650000*%
|
||||
%ADD23R,2.032000X1.727200*%
|
||||
%ADD24O,2.032000X1.727200*%
|
||||
%ADD25R,0.900000X0.500000*%
|
||||
%ADD26C,1.300000*%
|
||||
%ADD27C,2.800000*%
|
||||
%ADD28C,1.200000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X181000000Y-96250000D02*
|
||||
X181000000Y-96750000D01*
|
||||
X180750000Y-96500000D02*
|
||||
X181250000Y-96500000D01*
|
||||
X180750000Y-97250000D02*
|
||||
X181250000Y-97250000D01*
|
||||
D12*
|
||||
X156000000Y-92800000D02*
|
||||
G75*
|
||||
G03X156000000Y-92800000I-200000J0D01*
|
||||
G01*
|
||||
D13*
|
||||
X174800000Y-84116666D02*
|
||||
X174800000Y-83416666D01*
|
||||
X174966666Y-83416666D01*
|
||||
X175066666Y-83450000D01*
|
||||
X175133333Y-83516666D01*
|
||||
X175166666Y-83583333D01*
|
||||
X175200000Y-83716666D01*
|
||||
X175200000Y-83816666D01*
|
||||
X175166666Y-83950000D01*
|
||||
X175133333Y-84016666D01*
|
||||
X175066666Y-84083333D01*
|
||||
X174966666Y-84116666D01*
|
||||
X174800000Y-84116666D01*
|
||||
X175500000Y-83750000D02*
|
||||
X175733333Y-83750000D01*
|
||||
X157483333Y-97316666D02*
|
||||
X161783333Y-96816666D01*
|
||||
X162450000Y-97116666D02*
|
||||
X162783333Y-97116666D01*
|
||||
X162383333Y-97316666D02*
|
||||
X162616666Y-96616666D01*
|
||||
X162850000Y-97316666D01*
|
||||
D10*
|
||||
X164950000Y-83300000D02*
|
||||
X164250000Y-83300000D01*
|
||||
X164250000Y-82100000D02*
|
||||
X164950000Y-82100000D01*
|
||||
X161950000Y-83300000D02*
|
||||
X161250000Y-83300000D01*
|
||||
X161250000Y-82100000D02*
|
||||
X161950000Y-82100000D01*
|
||||
X173300000Y-87750000D02*
|
||||
X173300000Y-88450000D01*
|
||||
X172100000Y-88450000D02*
|
||||
X172100000Y-87750000D01*
|
||||
X180700000Y-91200000D02*
|
||||
X180000000Y-91200000D01*
|
||||
X180000000Y-90000000D02*
|
||||
X180700000Y-90000000D01*
|
||||
X169550000Y-97149020D02*
|
||||
X169550000Y-94449020D01*
|
||||
X168050000Y-97149020D02*
|
||||
X168050000Y-94449020D01*
|
||||
X168950000Y-95649020D02*
|
||||
X168700000Y-95649020D01*
|
||||
X168700000Y-95649020D02*
|
||||
X168850000Y-95799020D01*
|
||||
X168450000Y-95899020D02*
|
||||
X169150000Y-95899020D01*
|
||||
X168800000Y-95549020D02*
|
||||
X168800000Y-95199020D01*
|
||||
X168800000Y-95899020D02*
|
||||
X168450000Y-95549020D01*
|
||||
X168450000Y-95549020D02*
|
||||
X169150000Y-95549020D01*
|
||||
X169150000Y-95549020D02*
|
||||
X168800000Y-95899020D01*
|
||||
X171550000Y-97149020D02*
|
||||
X171550000Y-94449020D01*
|
||||
X170050000Y-97149020D02*
|
||||
X170050000Y-94449020D01*
|
||||
X170950000Y-95649020D02*
|
||||
X170700000Y-95649020D01*
|
||||
X170700000Y-95649020D02*
|
||||
X170850000Y-95799020D01*
|
||||
X170450000Y-95899020D02*
|
||||
X171150000Y-95899020D01*
|
||||
X170800000Y-95549020D02*
|
||||
X170800000Y-95199020D01*
|
||||
X175900000Y-86400000D02*
|
||||
G75*
|
||||
G03X175900000Y-86400000I-100000J0D01*
|
||||
G01*
|
||||
X176350000Y-86650000D02*
|
||||
X175850000Y-86650000D01*
|
||||
X176350000Y-89550000D02*
|
||||
X176350000Y-86650000D01*
|
||||
X175850000Y-89550000D02*
|
||||
X176350000Y-89550000D01*
|
||||
X175850000Y-86650000D02*
|
||||
X175850000Y-89550000D01*
|
||||
X182730000Y-87730000D02*
|
||||
X182730000Y-92810000D01*
|
||||
X182730000Y-92810000D02*
|
||||
X185270000Y-92810000D01*
|
||||
X185270000Y-92810000D02*
|
||||
X185270000Y-87730000D01*
|
||||
X185550000Y-84910000D02*
|
||||
X185550000Y-86460000D01*
|
||||
X185270000Y-87730000D02*
|
||||
X182730000Y-87730000D01*
|
||||
X175580000Y-92550000D01*
|
||||
X175920000Y-92550000D02*
|
||||
X175920000Y-91550000D01*
|
||||
X177280000Y-91550000D02*
|
||||
X177280000Y-92550000D01*
|
||||
D10*
|
||||
X148000000Y-95350000D02*
|
||||
X148000000Y-83350000D01*
|
||||
X134100000Y-83350000D02*
|
||||
X152800000Y-83350000D01*
|
||||
X134100000Y-95350000D02*
|
||||
X134100000Y-83350000D01*
|
||||
X152900000Y-95350000D02*
|
||||
X141352380Y-88850000D02*
|
||||
X140352380Y-88850000D01*
|
||||
X140495238Y-88945238D01*
|
||||
X140590476Y-89040476D01*
|
||||
X140638095Y-89135714D01*
|
||||
%LPC*%
|
||||
D15*
|
||||
X165350000Y-82700000D03*
|
||||
X163850000Y-82700000D03*
|
||||
X162350000Y-82700000D03*
|
||||
X160850000Y-82700000D03*
|
||||
D16*
|
||||
X172700000Y-87350000D03*
|
||||
X172700000Y-88850000D03*
|
||||
D15*
|
||||
X181100000Y-90600000D03*
|
||||
X179600000Y-90600000D03*
|
||||
D17*
|
||||
X168800000Y-94500000D03*
|
||||
X168800000Y-96598040D03*
|
||||
X170800000Y-94500000D03*
|
||||
X170800000Y-96598040D03*
|
||||
X172800000Y-94500000D03*
|
||||
X172800000Y-96598040D03*
|
||||
D18*
|
||||
X175640000Y-81600000D03*
|
||||
D19*
|
||||
X173100000Y-81600000D03*
|
||||
X170560000Y-81600000D03*
|
||||
D20*
|
||||
X181100000Y-89000000D03*
|
||||
X179600000Y-89000000D03*
|
||||
X179600000Y-87300000D03*
|
||||
X181100000Y-87300000D03*
|
||||
D21*
|
||||
X156775000Y-92600000D03*
|
||||
X157425000Y-92600000D03*
|
||||
X158075000Y-92600000D03*
|
||||
X158725000Y-92600000D03*
|
||||
X159375000Y-92600000D03*
|
||||
X160025000Y-92600000D03*
|
||||
X160675000Y-92600000D03*
|
||||
X161325000Y-92600000D03*
|
||||
X161975000Y-92600000D03*
|
||||
X162625000Y-92600000D03*
|
||||
X163275000Y-92600000D03*
|
||||
X163925000Y-92600000D03*
|
||||
X164575000Y-92600000D03*
|
||||
X165225000Y-92600000D03*
|
||||
X165225000Y-85400000D03*
|
||||
X164575000Y-85400000D03*
|
||||
X163925000Y-85400000D03*
|
||||
X163275000Y-85400000D03*
|
||||
X162625000Y-85400000D03*
|
||||
X161975000Y-85400000D03*
|
||||
X161325000Y-85400000D03*
|
||||
X160675000Y-85400000D03*
|
||||
X160025000Y-85400000D03*
|
||||
X159375000Y-85400000D03*
|
||||
X158725000Y-85400000D03*
|
||||
X158075000Y-85400000D03*
|
||||
X157425000Y-85400000D03*
|
||||
X156775000Y-85400000D03*
|
||||
D22*
|
||||
X175000000Y-87150000D03*
|
||||
X175000000Y-88100000D03*
|
||||
X175000000Y-89050000D03*
|
||||
X177200000Y-89050000D03*
|
||||
X177200000Y-87150000D03*
|
||||
D23*
|
||||
X184000000Y-86460000D03*
|
||||
D24*
|
||||
X184000000Y-89000000D03*
|
||||
X184000000Y-91540000D03*
|
||||
D17*
|
||||
X174900000Y-94501960D03*
|
||||
X174900000Y-96600000D03*
|
||||
D15*
|
||||
X159000000Y-94600000D03*
|
||||
X160500000Y-94600000D03*
|
||||
X162350000Y-81100000D03*
|
||||
X160850000Y-81100000D03*
|
||||
D25*
|
||||
X171150000Y-88600000D03*
|
||||
X171150000Y-90100000D03*
|
||||
X169550000Y-88600000D03*
|
||||
X169550000Y-90100000D03*
|
||||
X168800000Y-91300000D03*
|
||||
X168800000Y-92800000D03*
|
||||
X170800000Y-91300000D03*
|
||||
X170800000Y-92800000D03*
|
||||
X172800000Y-91300000D03*
|
||||
X172800000Y-92800000D03*
|
||||
X174900000Y-91300000D03*
|
||||
X174900000Y-92800000D03*
|
||||
X176600000Y-91300000D03*
|
||||
X176600000Y-92800000D03*
|
||||
D26*
|
||||
X152900000Y-88350000D03*
|
||||
X152900000Y-90350000D03*
|
||||
X152900000Y-92850000D03*
|
||||
X152900000Y-85850000D03*
|
||||
D27*
|
||||
X150800000Y-83500000D03*
|
||||
X150800000Y-95200000D03*
|
||||
D28*
|
||||
X150800000Y-87100000D03*
|
||||
X150800000Y-91600000D03*
|
||||
M02*
|
||||
60
samples/Gerber Image/GOLMain_RevA-B.Paste.gbp
Normal file
60
samples/Gerber Image/GOLMain_RevA-B.Paste.gbp
Normal file
@@ -0,0 +1,60 @@
|
||||
G04 #@! TF.FileFunction,Paste,Bot*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 4.0.4-stable) date 03/23/17 03:26:40*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.100000*%
|
||||
%ADD11R,1.100000X2.400000*%
|
||||
%ADD12O,1.100000X2.400000*%
|
||||
%ADD13R,2.000000X2.032000*%
|
||||
%ADD14R,1.727200X2.032000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X153000000Y-135000000D03*
|
||||
D12*
|
||||
X151000000Y-135000000D03*
|
||||
X149000000Y-135000000D03*
|
||||
X147000000Y-135000000D03*
|
||||
X145000000Y-135000000D03*
|
||||
X143000000Y-135000000D03*
|
||||
X141000000Y-135000000D03*
|
||||
X139000000Y-135000000D03*
|
||||
X139000000Y-119000000D03*
|
||||
X141000000Y-119000000D03*
|
||||
X143000000Y-119000000D03*
|
||||
X145000000Y-119000000D03*
|
||||
X147000000Y-119000000D03*
|
||||
X149000000Y-119000000D03*
|
||||
X151000000Y-119000000D03*
|
||||
X153000000Y-119000000D03*
|
||||
D13*
|
||||
X94500000Y-125500000D03*
|
||||
X97040000Y-125500000D03*
|
||||
X99580000Y-125500000D03*
|
||||
X94500000Y-128500000D03*
|
||||
X97040000Y-128500000D03*
|
||||
X99580000Y-128500000D03*
|
||||
X94500000Y-131500000D03*
|
||||
X97040000Y-131500000D03*
|
||||
X99580000Y-131500000D03*
|
||||
X94500000Y-134500000D03*
|
||||
X97040000Y-134500000D03*
|
||||
X99580000Y-134500000D03*
|
||||
X97040000Y-137500000D03*
|
||||
X99580000Y-137500000D03*
|
||||
D14*
|
||||
X94500000Y-140500000D03*
|
||||
D13*
|
||||
X97040000Y-140500000D03*
|
||||
X99580000Y-140500000D03*
|
||||
X94500000Y-143500000D03*
|
||||
X97040000Y-143500000D03*
|
||||
X99580000Y-143500000D03*
|
||||
X94500000Y-146500000D03*
|
||||
X97040000Y-146500000D03*
|
||||
X99580000Y-146500000D03*
|
||||
M02*
|
||||
26
samples/Gerber Image/nonaprs_contour.gko
Normal file
26
samples/Gerber Image/nonaprs_contour.gko
Normal file
@@ -0,0 +1,26 @@
|
||||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10R,1.267940X2.408830*%
|
||||
%ADD11C,0.008000*%
|
||||
%ADD10C,0.008*%
|
||||
%LNCONTOUR*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
G54D11*
|
||||
X4Y2405D02*
|
||||
X1264Y2405D01*
|
||||
X1264Y4D01*
|
||||
X4Y4D01*
|
||||
X4Y2405D01*
|
||||
D02*
|
||||
G04 End of contour*
|
||||
M02*
|
||||
1277
samples/Gerber Image/simonShield-B.Cu.gbr
Normal file
1277
samples/Gerber Image/simonShield-B.Cu.gbr
Normal file
File diff suppressed because it is too large
Load Diff
210
samples/Gerber Image/simonShield-B.Mask.gbr
Normal file
210
samples/Gerber Image/simonShield-B.Mask.gbr
Normal file
@@ -0,0 +1,210 @@
|
||||
G04 #@! TF.FileFunction,Soldermask,Bot*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu16.04.1) date Sat Jul 1 03:26:18 2017*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.100000*%
|
||||
%ADD11C,0.150000*%
|
||||
%ADD12C,2.000000*%
|
||||
%ADD13O,2.000000X2.000000*%
|
||||
%ADD14R,2.400000X1.924000*%
|
||||
%ADD15O,2.400000X1.924000*%
|
||||
%ADD16R,1.700000X1.700000*%
|
||||
%ADD17C,1.700000*%
|
||||
%ADD18C,2.398980*%
|
||||
%ADD19R,2.300000X2.400000*%
|
||||
%ADD20C,2.300000*%
|
||||
%ADD21R,2.127200X2.127200*%
|
||||
%ADD22O,2.127200X2.127200*%
|
||||
%ADD23C,1.400760*%
|
||||
%ADD24C,1.797000*%
|
||||
%ADD25C,2.000200*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X196250000Y-118000000D02*
|
||||
X113000000Y-118000000D01*
|
||||
X196250000Y-52750000D02*
|
||||
X196250000Y-118000000D01*
|
||||
X113000000Y-52750000D02*
|
||||
X196250000Y-52750000D01*
|
||||
X113000000Y-118000000D02*
|
||||
X113000000Y-52750000D01*
|
||||
D12*
|
||||
X145400000Y-68800000D03*
|
||||
D13*
|
||||
X145400000Y-58640000D03*
|
||||
D14*
|
||||
X189230000Y-61468000D03*
|
||||
D15*
|
||||
X191770000Y-61468000D03*
|
||||
X189230000Y-74168000D03*
|
||||
X189230000Y-109728000D03*
|
||||
X191770000Y-109728000D03*
|
||||
X191770000Y-97028000D03*
|
||||
D14*
|
||||
X118110000Y-61468000D03*
|
||||
D15*
|
||||
X120650000Y-61468000D03*
|
||||
X118110000Y-64008000D03*
|
||||
X120650000Y-64008000D03*
|
||||
X118110000Y-66548000D03*
|
||||
X120650000Y-66548000D03*
|
||||
X118110000Y-69088000D03*
|
||||
X120650000Y-69088000D03*
|
||||
X118110000Y-71628000D03*
|
||||
X120650000Y-71628000D03*
|
||||
X118110000Y-74168000D03*
|
||||
X120650000Y-74168000D03*
|
||||
X118110000Y-76708000D03*
|
||||
X120650000Y-76708000D03*
|
||||
X118110000Y-79248000D03*
|
||||
X120650000Y-79248000D03*
|
||||
X118110000Y-81788000D03*
|
||||
X120650000Y-81788000D03*
|
||||
X118110000Y-84328000D03*
|
||||
X120650000Y-84328000D03*
|
||||
X118110000Y-86868000D03*
|
||||
X120650000Y-86868000D03*
|
||||
X118110000Y-89408000D03*
|
||||
X120650000Y-89408000D03*
|
||||
X118110000Y-91948000D03*
|
||||
X120650000Y-91948000D03*
|
||||
X118110000Y-94488000D03*
|
||||
X120650000Y-94488000D03*
|
||||
X118110000Y-97028000D03*
|
||||
X120650000Y-97028000D03*
|
||||
X118110000Y-99568000D03*
|
||||
X120650000Y-99568000D03*
|
||||
X118110000Y-102108000D03*
|
||||
X120650000Y-102108000D03*
|
||||
X118110000Y-104648000D03*
|
||||
X120650000Y-104648000D03*
|
||||
X118110000Y-107188000D03*
|
||||
X120650000Y-107188000D03*
|
||||
X118110000Y-109728000D03*
|
||||
X120650000Y-109728000D03*
|
||||
D16*
|
||||
X135255000Y-64008000D03*
|
||||
D17*
|
||||
X135255000Y-61508000D03*
|
||||
D18*
|
||||
X164465000Y-85471000D03*
|
||||
X164465000Y-77851000D03*
|
||||
D19*
|
||||
X136017000Y-72644000D03*
|
||||
D20*
|
||||
X133477000Y-72644000D03*
|
||||
D19*
|
||||
X173863000Y-72644000D03*
|
||||
D20*
|
||||
X176403000Y-72644000D03*
|
||||
D19*
|
||||
X136017000Y-96139000D03*
|
||||
D20*
|
||||
X133477000Y-96139000D03*
|
||||
D19*
|
||||
X173863000Y-96012000D03*
|
||||
D20*
|
||||
X176403000Y-96012000D03*
|
||||
D21*
|
||||
X127007800Y-61542700D03*
|
||||
D22*
|
||||
X129547800Y-61542700D03*
|
||||
X127007800Y-64082700D03*
|
||||
X129547800Y-64082700D03*
|
||||
D23*
|
||||
X166243000Y-67056000D03*
|
||||
X164973000Y-68326000D03*
|
||||
X164973000Y-65786000D03*
|
||||
X128143000Y-71374000D03*
|
||||
X129413000Y-72644000D03*
|
||||
X126873000Y-72644000D03*
|
||||
X181737000Y-73914000D03*
|
||||
X180467000Y-72644000D03*
|
||||
X183007000Y-72644000D03*
|
||||
X128143000Y-94742000D03*
|
||||
X129413000Y-96012000D03*
|
||||
X126873000Y-96012000D03*
|
||||
X181737000Y-97282000D03*
|
||||
X180467000Y-96012000D03*
|
||||
X183007000Y-96012000D03*
|
||||
D18*
|
||||
X134239000Y-85344000D03*
|
||||
X134239000Y-77724000D03*
|
||||
X145415000Y-85344000D03*
|
||||
X145415000Y-77724000D03*
|
||||
X175641000Y-85217000D03*
|
||||
X175641000Y-77597000D03*
|
||||
X145415000Y-108966000D03*
|
||||
X145415000Y-101346000D03*
|
||||
X134239000Y-108458000D03*
|
||||
X134239000Y-100838000D03*
|
||||
X175641000Y-108585000D03*
|
||||
X175641000Y-100965000D03*
|
||||
X164465000Y-108839000D03*
|
||||
X164465000Y-101219000D03*
|
||||
X169164000Y-62611000D03*
|
||||
X161544000Y-62611000D03*
|
||||
X169164000Y-59563000D03*
|
||||
X161544000Y-59563000D03*
|
||||
X129921000Y-85217000D03*
|
||||
X129921000Y-77597000D03*
|
||||
X126365000Y-85217000D03*
|
||||
X126365000Y-77597000D03*
|
||||
X180086000Y-85217000D03*
|
||||
X180086000Y-77597000D03*
|
||||
X183515000Y-85217000D03*
|
||||
X183515000Y-77597000D03*
|
||||
X129921000Y-108458000D03*
|
||||
X129921000Y-100838000D03*
|
||||
X126365000Y-108458000D03*
|
||||
X126365000Y-100838000D03*
|
||||
X179959000Y-108585000D03*
|
||||
X179959000Y-100965000D03*
|
||||
X183515000Y-108585000D03*
|
||||
X183515000Y-100965000D03*
|
||||
D12*
|
||||
X155000000Y-99000000D03*
|
||||
D13*
|
||||
X155000000Y-88840000D03*
|
||||
D24*
|
||||
X137287000Y-77724000D03*
|
||||
X142367000Y-77724000D03*
|
||||
X137287000Y-85344000D03*
|
||||
X142367000Y-85344000D03*
|
||||
X148463000Y-77724000D03*
|
||||
X153543000Y-77724000D03*
|
||||
X148463000Y-85344000D03*
|
||||
X153543000Y-85344000D03*
|
||||
X172593000Y-85344000D03*
|
||||
X167513000Y-85344000D03*
|
||||
X172593000Y-77724000D03*
|
||||
X167513000Y-77724000D03*
|
||||
X161417000Y-85344000D03*
|
||||
X156337000Y-85344000D03*
|
||||
X161417000Y-77724000D03*
|
||||
X156337000Y-77724000D03*
|
||||
X148463000Y-101219000D03*
|
||||
X153543000Y-101219000D03*
|
||||
X148463000Y-108839000D03*
|
||||
X153543000Y-108839000D03*
|
||||
X137287000Y-101219000D03*
|
||||
X142367000Y-101219000D03*
|
||||
X137287000Y-108839000D03*
|
||||
X142367000Y-108839000D03*
|
||||
X172593000Y-108712000D03*
|
||||
X167513000Y-108712000D03*
|
||||
X172593000Y-101092000D03*
|
||||
X167513000Y-101092000D03*
|
||||
X161417000Y-108712000D03*
|
||||
X156337000Y-108712000D03*
|
||||
X161417000Y-101092000D03*
|
||||
X156337000Y-101092000D03*
|
||||
D25*
|
||||
X157178971Y-64124429D03*
|
||||
X150828971Y-64124429D03*
|
||||
M02*
|
||||
22
samples/Gerber Image/simonShield-Edge.Cuts.gbr
Normal file
22
samples/Gerber Image/simonShield-Edge.Cuts.gbr
Normal file
@@ -0,0 +1,22 @@
|
||||
G04 #@! TF.FileFunction,Profile,NP*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu16.04.1) date Sat Jul 1 03:26:18 2017*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.100000*%
|
||||
%ADD11C,0.150000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X196250000Y-118000000D02*
|
||||
X113000000Y-118000000D01*
|
||||
X196250000Y-52750000D02*
|
||||
X196250000Y-118000000D01*
|
||||
X113000000Y-52750000D02*
|
||||
X196250000Y-52750000D01*
|
||||
X113000000Y-118000000D02*
|
||||
X113000000Y-52750000D01*
|
||||
M02*
|
||||
287
samples/Gerber Image/simonShield-F.Cu.gbr
Normal file
287
samples/Gerber Image/simonShield-F.Cu.gbr
Normal file
@@ -0,0 +1,287 @@
|
||||
G04 #@! TF.FileFunction,Copper,L1,Top,Signal*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu16.04.1) date Sat Jul 1 03:26:18 2017*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.100000*%
|
||||
%ADD11C,0.150000*%
|
||||
%ADD12C,1.600000*%
|
||||
%ADD13O,1.600000X1.600000*%
|
||||
%ADD14R,2.000000X1.524000*%
|
||||
%ADD15O,2.000000X1.524000*%
|
||||
%ADD16R,1.300000X1.300000*%
|
||||
%ADD17C,1.300000*%
|
||||
%ADD18C,1.998980*%
|
||||
%ADD19R,1.900000X2.000000*%
|
||||
%ADD20C,1.900000*%
|
||||
%ADD21C,1.000000*%
|
||||
%ADD22R,1.727200X1.727200*%
|
||||
%ADD23O,1.727200X1.727200*%
|
||||
%ADD24C,1.000760*%
|
||||
%ADD25C,1.397000*%
|
||||
%ADD26C,1.600200*%
|
||||
%ADD27C,1.270000*%
|
||||
%ADD28C,0.304800*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X196250000Y-118000000D02*
|
||||
X113000000Y-118000000D01*
|
||||
X196250000Y-52750000D02*
|
||||
X196250000Y-118000000D01*
|
||||
X113000000Y-52750000D02*
|
||||
X196250000Y-52750000D01*
|
||||
X113000000Y-118000000D02*
|
||||
X113000000Y-52750000D01*
|
||||
D12*
|
||||
X145400000Y-68800000D03*
|
||||
D13*
|
||||
X145400000Y-58640000D03*
|
||||
D14*
|
||||
X189230000Y-61468000D03*
|
||||
D15*
|
||||
X191770000Y-61468000D03*
|
||||
X189230000Y-74168000D03*
|
||||
X191770000Y-64008000D03*
|
||||
X189230000Y-76708000D03*
|
||||
X191770000Y-66548000D03*
|
||||
X189230000Y-79248000D03*
|
||||
X191770000Y-69088000D03*
|
||||
X189230000Y-81788000D03*
|
||||
X191770000Y-71628000D03*
|
||||
X189230000Y-84328000D03*
|
||||
X191770000Y-74168000D03*
|
||||
X189230000Y-86868000D03*
|
||||
X191770000Y-76708000D03*
|
||||
X189230000Y-89408000D03*
|
||||
X191770000Y-79248000D03*
|
||||
X189230000Y-91948000D03*
|
||||
X191770000Y-81788000D03*
|
||||
X189230000Y-94488000D03*
|
||||
X191770000Y-84328000D03*
|
||||
X189230000Y-97028000D03*
|
||||
X191770000Y-86868000D03*
|
||||
X189230000Y-99568000D03*
|
||||
X191770000Y-89408000D03*
|
||||
X191770000Y-91948000D03*
|
||||
X189230000Y-102108000D03*
|
||||
X191770000Y-94488000D03*
|
||||
X191770000Y-99568000D03*
|
||||
X191770000Y-102108000D03*
|
||||
X191770000Y-104648000D03*
|
||||
X191770000Y-107188000D03*
|
||||
X189230000Y-104648000D03*
|
||||
X189230000Y-107188000D03*
|
||||
X189230000Y-64008000D03*
|
||||
X189230000Y-66548000D03*
|
||||
X189230000Y-69088000D03*
|
||||
X189230000Y-71628000D03*
|
||||
X189230000Y-109728000D03*
|
||||
X191770000Y-109728000D03*
|
||||
X191770000Y-97028000D03*
|
||||
D14*
|
||||
X118110000Y-61468000D03*
|
||||
D15*
|
||||
X120650000Y-61468000D03*
|
||||
X118110000Y-64008000D03*
|
||||
X120650000Y-64008000D03*
|
||||
X118110000Y-66548000D03*
|
||||
X120650000Y-66548000D03*
|
||||
X118110000Y-69088000D03*
|
||||
X120650000Y-69088000D03*
|
||||
X118110000Y-71628000D03*
|
||||
X120650000Y-71628000D03*
|
||||
X118110000Y-74168000D03*
|
||||
X120650000Y-74168000D03*
|
||||
X118110000Y-76708000D03*
|
||||
X120650000Y-76708000D03*
|
||||
X118110000Y-79248000D03*
|
||||
X120650000Y-79248000D03*
|
||||
X118110000Y-81788000D03*
|
||||
X120650000Y-81788000D03*
|
||||
X118110000Y-84328000D03*
|
||||
X120650000Y-84328000D03*
|
||||
X118110000Y-86868000D03*
|
||||
X120650000Y-86868000D03*
|
||||
X118110000Y-89408000D03*
|
||||
X120650000Y-89408000D03*
|
||||
X118110000Y-91948000D03*
|
||||
X120650000Y-91948000D03*
|
||||
X118110000Y-94488000D03*
|
||||
X120650000Y-94488000D03*
|
||||
X118110000Y-97028000D03*
|
||||
X120650000Y-97028000D03*
|
||||
X118110000Y-99568000D03*
|
||||
X120650000Y-99568000D03*
|
||||
X118110000Y-102108000D03*
|
||||
X120650000Y-102108000D03*
|
||||
X118110000Y-104648000D03*
|
||||
X120650000Y-104648000D03*
|
||||
X118110000Y-107188000D03*
|
||||
X120650000Y-107188000D03*
|
||||
X118110000Y-109728000D03*
|
||||
X120650000Y-109728000D03*
|
||||
D16*
|
||||
X135255000Y-64008000D03*
|
||||
D17*
|
||||
X135255000Y-61508000D03*
|
||||
D18*
|
||||
X164465000Y-85471000D03*
|
||||
X164465000Y-77851000D03*
|
||||
D19*
|
||||
X136017000Y-72644000D03*
|
||||
D20*
|
||||
X133477000Y-72644000D03*
|
||||
D19*
|
||||
X173863000Y-72644000D03*
|
||||
D20*
|
||||
X176403000Y-72644000D03*
|
||||
D19*
|
||||
X136017000Y-96139000D03*
|
||||
D20*
|
||||
X133477000Y-96139000D03*
|
||||
D19*
|
||||
X173863000Y-96012000D03*
|
||||
D20*
|
||||
X176403000Y-96012000D03*
|
||||
D21*
|
||||
X125250000Y-112250000D03*
|
||||
X160500000Y-70500000D03*
|
||||
X167250000Y-92250000D03*
|
||||
D22*
|
||||
X127007800Y-61542700D03*
|
||||
D23*
|
||||
X129547800Y-61542700D03*
|
||||
X127007800Y-64082700D03*
|
||||
X129547800Y-64082700D03*
|
||||
D24*
|
||||
X166243000Y-67056000D03*
|
||||
X164973000Y-68326000D03*
|
||||
X164973000Y-65786000D03*
|
||||
X128143000Y-71374000D03*
|
||||
X129413000Y-72644000D03*
|
||||
X126873000Y-72644000D03*
|
||||
X181737000Y-73914000D03*
|
||||
X180467000Y-72644000D03*
|
||||
X183007000Y-72644000D03*
|
||||
X128143000Y-94742000D03*
|
||||
X129413000Y-96012000D03*
|
||||
X126873000Y-96012000D03*
|
||||
X181737000Y-97282000D03*
|
||||
X180467000Y-96012000D03*
|
||||
X183007000Y-96012000D03*
|
||||
D18*
|
||||
X134239000Y-85344000D03*
|
||||
X134239000Y-77724000D03*
|
||||
X145415000Y-85344000D03*
|
||||
X145415000Y-77724000D03*
|
||||
X175641000Y-85217000D03*
|
||||
X175641000Y-77597000D03*
|
||||
X145415000Y-108966000D03*
|
||||
X145415000Y-101346000D03*
|
||||
X134239000Y-108458000D03*
|
||||
X134239000Y-100838000D03*
|
||||
X175641000Y-108585000D03*
|
||||
X175641000Y-100965000D03*
|
||||
X164465000Y-108839000D03*
|
||||
X164465000Y-101219000D03*
|
||||
X169164000Y-62611000D03*
|
||||
X161544000Y-62611000D03*
|
||||
X169164000Y-59563000D03*
|
||||
X161544000Y-59563000D03*
|
||||
X129921000Y-85217000D03*
|
||||
X129921000Y-77597000D03*
|
||||
X126365000Y-85217000D03*
|
||||
X126365000Y-77597000D03*
|
||||
X180086000Y-85217000D03*
|
||||
X180086000Y-77597000D03*
|
||||
X183515000Y-85217000D03*
|
||||
X183515000Y-77597000D03*
|
||||
X129921000Y-108458000D03*
|
||||
X129921000Y-100838000D03*
|
||||
X126365000Y-108458000D03*
|
||||
X126365000Y-100838000D03*
|
||||
X179959000Y-108585000D03*
|
||||
X179959000Y-100965000D03*
|
||||
X183515000Y-108585000D03*
|
||||
X183515000Y-100965000D03*
|
||||
D12*
|
||||
X155000000Y-99000000D03*
|
||||
D13*
|
||||
X155000000Y-88840000D03*
|
||||
D25*
|
||||
X137287000Y-77724000D03*
|
||||
X142367000Y-77724000D03*
|
||||
X137287000Y-85344000D03*
|
||||
X142367000Y-85344000D03*
|
||||
X148463000Y-77724000D03*
|
||||
X153543000Y-77724000D03*
|
||||
X148463000Y-85344000D03*
|
||||
X153543000Y-85344000D03*
|
||||
X172593000Y-85344000D03*
|
||||
X167513000Y-85344000D03*
|
||||
X172593000Y-77724000D03*
|
||||
X167513000Y-77724000D03*
|
||||
X161417000Y-85344000D03*
|
||||
X156337000Y-85344000D03*
|
||||
X161417000Y-77724000D03*
|
||||
X156337000Y-77724000D03*
|
||||
X148463000Y-101219000D03*
|
||||
X153543000Y-101219000D03*
|
||||
X148463000Y-108839000D03*
|
||||
X153543000Y-108839000D03*
|
||||
X137287000Y-101219000D03*
|
||||
X142367000Y-101219000D03*
|
||||
X137287000Y-108839000D03*
|
||||
X142367000Y-108839000D03*
|
||||
X172593000Y-108712000D03*
|
||||
X167513000Y-108712000D03*
|
||||
X172593000Y-101092000D03*
|
||||
X167513000Y-101092000D03*
|
||||
X161417000Y-108712000D03*
|
||||
X156337000Y-108712000D03*
|
||||
X161417000Y-101092000D03*
|
||||
X156337000Y-101092000D03*
|
||||
D26*
|
||||
X157178971Y-64124429D03*
|
||||
X150828971Y-64124429D03*
|
||||
D27*
|
||||
X137287000Y-80137000D03*
|
||||
X137287000Y-83439000D03*
|
||||
X148336000Y-79629000D03*
|
||||
X148463000Y-83185000D03*
|
||||
X172593000Y-80137000D03*
|
||||
X172593000Y-83312000D03*
|
||||
X161417000Y-80010000D03*
|
||||
X161417000Y-83439000D03*
|
||||
X137287000Y-103505000D03*
|
||||
X137287000Y-106680000D03*
|
||||
X172593000Y-103378000D03*
|
||||
X172593000Y-106934000D03*
|
||||
X148463000Y-103505000D03*
|
||||
X148463000Y-106934000D03*
|
||||
X161417000Y-103759000D03*
|
||||
X161417000Y-106934000D03*
|
||||
D28*
|
||||
X137287000Y-83439000D02*
|
||||
X137287000Y-80137000D01*
|
||||
X148336000Y-83058000D02*
|
||||
X148336000Y-79629000D01*
|
||||
X148463000Y-83185000D02*
|
||||
X148336000Y-83058000D01*
|
||||
X172593000Y-83312000D02*
|
||||
X172593000Y-80137000D01*
|
||||
X161417000Y-83439000D02*
|
||||
X161417000Y-80010000D01*
|
||||
X137287000Y-106680000D02*
|
||||
X137287000Y-103505000D01*
|
||||
X172593000Y-106934000D02*
|
||||
X172593000Y-103378000D01*
|
||||
X148463000Y-106934000D02*
|
||||
X148463000Y-103505000D01*
|
||||
X161417000Y-106934000D02*
|
||||
X161417000Y-103759000D01*
|
||||
M02*
|
||||
249
samples/Gerber Image/simonShield-F.Mask.gbr
Normal file
249
samples/Gerber Image/simonShield-F.Mask.gbr
Normal file
@@ -0,0 +1,249 @@
|
||||
G04 #@! TF.FileFunction,Soldermask,Top*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu16.04.1) date Sat Jul 1 03:26:18 2017*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.100000*%
|
||||
%ADD11C,0.150000*%
|
||||
%ADD12C,2.000000*%
|
||||
%ADD13O,2.000000X2.000000*%
|
||||
%ADD14R,2.400000X1.924000*%
|
||||
%ADD15O,2.400000X1.924000*%
|
||||
%ADD16R,1.700000X1.700000*%
|
||||
%ADD17C,1.700000*%
|
||||
%ADD18C,2.398980*%
|
||||
%ADD19R,2.300000X2.400000*%
|
||||
%ADD20C,2.300000*%
|
||||
%ADD21C,4.000000*%
|
||||
%ADD22R,2.127200X2.127200*%
|
||||
%ADD23O,2.127200X2.127200*%
|
||||
%ADD24C,1.400760*%
|
||||
%ADD25C,1.797000*%
|
||||
%ADD26C,2.000200*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X196250000Y-118000000D02*
|
||||
X113000000Y-118000000D01*
|
||||
X196250000Y-52750000D02*
|
||||
X196250000Y-118000000D01*
|
||||
X113000000Y-52750000D02*
|
||||
X196250000Y-52750000D01*
|
||||
X113000000Y-118000000D02*
|
||||
X113000000Y-52750000D01*
|
||||
D12*
|
||||
X145400000Y-68800000D03*
|
||||
D13*
|
||||
X145400000Y-58640000D03*
|
||||
D14*
|
||||
X189230000Y-61468000D03*
|
||||
D15*
|
||||
X191770000Y-61468000D03*
|
||||
X189230000Y-74168000D03*
|
||||
X191770000Y-64008000D03*
|
||||
X189230000Y-76708000D03*
|
||||
X191770000Y-66548000D03*
|
||||
X189230000Y-79248000D03*
|
||||
X191770000Y-69088000D03*
|
||||
X189230000Y-81788000D03*
|
||||
X191770000Y-71628000D03*
|
||||
X189230000Y-84328000D03*
|
||||
X191770000Y-74168000D03*
|
||||
X189230000Y-86868000D03*
|
||||
X191770000Y-76708000D03*
|
||||
X189230000Y-89408000D03*
|
||||
X191770000Y-79248000D03*
|
||||
X189230000Y-91948000D03*
|
||||
X191770000Y-81788000D03*
|
||||
X189230000Y-94488000D03*
|
||||
X191770000Y-84328000D03*
|
||||
X189230000Y-97028000D03*
|
||||
X191770000Y-86868000D03*
|
||||
X189230000Y-99568000D03*
|
||||
X191770000Y-89408000D03*
|
||||
X191770000Y-91948000D03*
|
||||
X189230000Y-102108000D03*
|
||||
X191770000Y-94488000D03*
|
||||
X191770000Y-99568000D03*
|
||||
X191770000Y-102108000D03*
|
||||
X191770000Y-104648000D03*
|
||||
X191770000Y-107188000D03*
|
||||
X189230000Y-104648000D03*
|
||||
X189230000Y-107188000D03*
|
||||
X189230000Y-64008000D03*
|
||||
X189230000Y-66548000D03*
|
||||
X189230000Y-69088000D03*
|
||||
X189230000Y-71628000D03*
|
||||
X189230000Y-109728000D03*
|
||||
X191770000Y-109728000D03*
|
||||
X191770000Y-97028000D03*
|
||||
D14*
|
||||
X118110000Y-61468000D03*
|
||||
D15*
|
||||
X120650000Y-61468000D03*
|
||||
X118110000Y-64008000D03*
|
||||
X120650000Y-64008000D03*
|
||||
X118110000Y-66548000D03*
|
||||
X120650000Y-66548000D03*
|
||||
X118110000Y-69088000D03*
|
||||
X120650000Y-69088000D03*
|
||||
X118110000Y-71628000D03*
|
||||
X120650000Y-71628000D03*
|
||||
X118110000Y-74168000D03*
|
||||
X120650000Y-74168000D03*
|
||||
X118110000Y-76708000D03*
|
||||
X120650000Y-76708000D03*
|
||||
X118110000Y-79248000D03*
|
||||
X120650000Y-79248000D03*
|
||||
X118110000Y-81788000D03*
|
||||
X120650000Y-81788000D03*
|
||||
X118110000Y-84328000D03*
|
||||
X120650000Y-84328000D03*
|
||||
X118110000Y-86868000D03*
|
||||
X120650000Y-86868000D03*
|
||||
X118110000Y-89408000D03*
|
||||
X120650000Y-89408000D03*
|
||||
X118110000Y-91948000D03*
|
||||
X120650000Y-91948000D03*
|
||||
X118110000Y-94488000D03*
|
||||
X120650000Y-94488000D03*
|
||||
X118110000Y-97028000D03*
|
||||
X120650000Y-97028000D03*
|
||||
X118110000Y-99568000D03*
|
||||
X120650000Y-99568000D03*
|
||||
X118110000Y-102108000D03*
|
||||
X120650000Y-102108000D03*
|
||||
X118110000Y-104648000D03*
|
||||
X120650000Y-104648000D03*
|
||||
X118110000Y-107188000D03*
|
||||
X120650000Y-107188000D03*
|
||||
X118110000Y-109728000D03*
|
||||
X120650000Y-109728000D03*
|
||||
D16*
|
||||
X135255000Y-64008000D03*
|
||||
D17*
|
||||
X135255000Y-61508000D03*
|
||||
D18*
|
||||
X164465000Y-85471000D03*
|
||||
X164465000Y-77851000D03*
|
||||
D19*
|
||||
X136017000Y-72644000D03*
|
||||
D20*
|
||||
X133477000Y-72644000D03*
|
||||
D19*
|
||||
X173863000Y-72644000D03*
|
||||
D20*
|
||||
X176403000Y-72644000D03*
|
||||
D19*
|
||||
X136017000Y-96139000D03*
|
||||
D20*
|
||||
X133477000Y-96139000D03*
|
||||
D19*
|
||||
X173863000Y-96012000D03*
|
||||
D20*
|
||||
X176403000Y-96012000D03*
|
||||
D21*
|
||||
X125250000Y-112250000D03*
|
||||
X160500000Y-70500000D03*
|
||||
X167250000Y-92250000D03*
|
||||
D22*
|
||||
X127007800Y-61542700D03*
|
||||
D23*
|
||||
X129547800Y-61542700D03*
|
||||
X127007800Y-64082700D03*
|
||||
X129547800Y-64082700D03*
|
||||
D24*
|
||||
X166243000Y-67056000D03*
|
||||
X164973000Y-68326000D03*
|
||||
X164973000Y-65786000D03*
|
||||
X128143000Y-71374000D03*
|
||||
X129413000Y-72644000D03*
|
||||
X126873000Y-72644000D03*
|
||||
X181737000Y-73914000D03*
|
||||
X180467000Y-72644000D03*
|
||||
X183007000Y-72644000D03*
|
||||
X128143000Y-94742000D03*
|
||||
X129413000Y-96012000D03*
|
||||
X126873000Y-96012000D03*
|
||||
X181737000Y-97282000D03*
|
||||
X180467000Y-96012000D03*
|
||||
X183007000Y-96012000D03*
|
||||
D18*
|
||||
X134239000Y-85344000D03*
|
||||
X134239000Y-77724000D03*
|
||||
X145415000Y-85344000D03*
|
||||
X145415000Y-77724000D03*
|
||||
X175641000Y-85217000D03*
|
||||
X175641000Y-77597000D03*
|
||||
X145415000Y-108966000D03*
|
||||
X145415000Y-101346000D03*
|
||||
X134239000Y-108458000D03*
|
||||
X134239000Y-100838000D03*
|
||||
X175641000Y-108585000D03*
|
||||
X175641000Y-100965000D03*
|
||||
X164465000Y-108839000D03*
|
||||
X164465000Y-101219000D03*
|
||||
X169164000Y-62611000D03*
|
||||
X161544000Y-62611000D03*
|
||||
X169164000Y-59563000D03*
|
||||
X161544000Y-59563000D03*
|
||||
X129921000Y-85217000D03*
|
||||
X129921000Y-77597000D03*
|
||||
X126365000Y-85217000D03*
|
||||
X126365000Y-77597000D03*
|
||||
X180086000Y-85217000D03*
|
||||
X180086000Y-77597000D03*
|
||||
X183515000Y-85217000D03*
|
||||
X183515000Y-77597000D03*
|
||||
X129921000Y-108458000D03*
|
||||
X129921000Y-100838000D03*
|
||||
X126365000Y-108458000D03*
|
||||
X126365000Y-100838000D03*
|
||||
X179959000Y-108585000D03*
|
||||
X179959000Y-100965000D03*
|
||||
X183515000Y-108585000D03*
|
||||
X183515000Y-100965000D03*
|
||||
D12*
|
||||
X155000000Y-99000000D03*
|
||||
D13*
|
||||
X155000000Y-88840000D03*
|
||||
D25*
|
||||
X137287000Y-77724000D03*
|
||||
X142367000Y-77724000D03*
|
||||
X137287000Y-85344000D03*
|
||||
X142367000Y-85344000D03*
|
||||
X148463000Y-77724000D03*
|
||||
X153543000Y-77724000D03*
|
||||
X148463000Y-85344000D03*
|
||||
X153543000Y-85344000D03*
|
||||
X172593000Y-85344000D03*
|
||||
X167513000Y-85344000D03*
|
||||
X172593000Y-77724000D03*
|
||||
X167513000Y-77724000D03*
|
||||
X161417000Y-85344000D03*
|
||||
X156337000Y-85344000D03*
|
||||
X161417000Y-77724000D03*
|
||||
X156337000Y-77724000D03*
|
||||
X148463000Y-101219000D03*
|
||||
X153543000Y-101219000D03*
|
||||
X148463000Y-108839000D03*
|
||||
X153543000Y-108839000D03*
|
||||
X137287000Y-101219000D03*
|
||||
X142367000Y-101219000D03*
|
||||
X137287000Y-108839000D03*
|
||||
X142367000Y-108839000D03*
|
||||
X172593000Y-108712000D03*
|
||||
X167513000Y-108712000D03*
|
||||
X172593000Y-101092000D03*
|
||||
X167513000Y-101092000D03*
|
||||
X161417000Y-108712000D03*
|
||||
X156337000Y-108712000D03*
|
||||
X161417000Y-101092000D03*
|
||||
X156337000Y-101092000D03*
|
||||
D26*
|
||||
X157178971Y-64124429D03*
|
||||
X150828971Y-64124429D03*
|
||||
M02*
|
||||
392
samples/Gerber Image/simonShield-F.SilkS.gbr
Normal file
392
samples/Gerber Image/simonShield-F.SilkS.gbr
Normal file
@@ -0,0 +1,392 @@
|
||||
G04 #@! TF.FileFunction,Legend,Top*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu16.04.1) date Sat Jul 1 03:26:18 2017*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.100000*%
|
||||
%ADD11C,0.150000*%
|
||||
%ADD12C,0.187500*%
|
||||
%ADD13C,0.125000*%
|
||||
%ADD14C,0.300000*%
|
||||
%ADD15C,0.120000*%
|
||||
%ADD16C,0.002540*%
|
||||
%ADD17C,0.200000*%
|
||||
%ADD18C,0.170000*%
|
||||
%ADD19C,0.175000*%
|
||||
%ADD20C,0.180000*%
|
||||
%ADD21C,0.190000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X196250000Y-118000000D02*
|
||||
X113000000Y-118000000D01*
|
||||
X196250000Y-52750000D02*
|
||||
X196250000Y-118000000D01*
|
||||
X113000000Y-52750000D02*
|
||||
X196250000Y-52750000D01*
|
||||
X113000000Y-118000000D02*
|
||||
X113000000Y-52750000D01*
|
||||
D12*
|
||||
X171964285Y-68083333D02*
|
||||
X123317001Y-106767381D01*
|
||||
X123650334Y-106767381D02*
|
||||
X123745572Y-106767381D01*
|
||||
X123793191Y-106815000D01*
|
||||
X123840810Y-106910238D01*
|
||||
X123864619Y-107100714D01*
|
||||
X123864619Y-107434048D01*
|
||||
X123840810Y-107624524D01*
|
||||
X123793191Y-107719762D01*
|
||||
X123745572Y-107767381D01*
|
||||
X123650334Y-107767381D01*
|
||||
X123602715Y-107719762D01*
|
||||
X123555096Y-107624524D01*
|
||||
X123531286Y-107434048D01*
|
||||
X123531286Y-107100714D01*
|
||||
X123555096Y-106910238D01*
|
||||
X123602715Y-106815000D01*
|
||||
X123650334Y-106767381D01*
|
||||
X124031287Y-106767381D02*
|
||||
X196102429Y-69431810D01*
|
||||
D13*
|
||||
X193274334Y-66254381D02*
|
||||
X193393381Y-67254381D01*
|
||||
X193488619Y-66540095D01*
|
||||
X193583857Y-67254381D01*
|
||||
X193702905Y-66254381D01*
|
||||
X193869572Y-66968667D02*
|
||||
X194107667Y-66968667D01*
|
||||
X193821953Y-67254381D02*
|
||||
X193988620Y-66254381D01*
|
||||
X194155286Y-67254381D01*
|
||||
X194321953Y-67254381D02*
|
||||
X194321953Y-66254381D01*
|
||||
X194607667Y-67254381D02*
|
||||
X194393381Y-66682952D01*
|
||||
X194607667Y-66254381D02*
|
||||
X194321953Y-66825810D01*
|
||||
X194821953Y-66730571D02*
|
||||
X194988619Y-66730571D01*
|
||||
X195060048Y-67254381D02*
|
||||
X194821953Y-67254381D01*
|
||||
X194821953Y-66254381D01*
|
||||
X195060048Y-66254381D01*
|
||||
X195274334Y-66254381D02*
|
||||
X195274334Y-67063905D01*
|
||||
X195298143Y-67159143D01*
|
||||
X195321953Y-67206762D01*
|
||||
X195369572Y-67254381D01*
|
||||
X195464810Y-67254381D01*
|
||||
X195512429Y-67206762D01*
|
||||
X195536238Y-67159143D01*
|
||||
X195560048Y-67063905D01*
|
||||
X195560048Y-66254381D01*
|
||||
X195798144Y-67254381D02*
|
||||
X195798144Y-66254381D01*
|
||||
X195988620Y-66254381D01*
|
||||
X196036239Y-66302000D01*
|
||||
X196060048Y-66349619D01*
|
||||
X196083858Y-66444857D01*
|
||||
X196083858Y-66587714D01*
|
||||
X196060048Y-66682952D01*
|
||||
X196036239Y-66730571D01*
|
||||
X195988620Y-66778190D01*
|
||||
X195798144Y-66778190D01*
|
||||
D17*
|
||||
X193929096Y-64016000D02*
|
||||
X193833858Y-63968381D01*
|
||||
X193691001Y-63968381D01*
|
||||
X193548143Y-64016000D01*
|
||||
X193452905Y-64111238D01*
|
||||
X193405286Y-64206476D01*
|
||||
X193357667Y-64396952D01*
|
||||
X193357667Y-64539810D01*
|
||||
X193405286Y-64730286D01*
|
||||
X193452905Y-64825524D01*
|
||||
X193548143Y-64920762D01*
|
||||
X193691001Y-64968381D01*
|
||||
X193786239Y-64968381D01*
|
||||
X193929096Y-64920762D01*
|
||||
X193976715Y-64873143D01*
|
||||
X193976715Y-64539810D01*
|
||||
X193786239Y-64539810D01*
|
||||
X194405286Y-64968381D02*
|
||||
X194405286Y-63968381D01*
|
||||
X194976715Y-64968381D01*
|
||||
X194976715Y-63968381D01*
|
||||
X195452905Y-64968381D02*
|
||||
X195452905Y-63968381D01*
|
||||
X195691000Y-63968381D01*
|
||||
X195833858Y-64016000D01*
|
||||
X195929096Y-64111238D01*
|
||||
X195976715Y-64206476D01*
|
||||
X196024334Y-64396952D01*
|
||||
X196024334Y-64539810D01*
|
||||
X195976715Y-64730286D01*
|
||||
X195929096Y-64825524D01*
|
||||
X195833858Y-64920762D01*
|
||||
X195691000Y-64968381D01*
|
||||
X195452905Y-64968381D01*
|
||||
X193278286Y-61539429D02*
|
||||
X194040191Y-61539429D01*
|
||||
X193659239Y-61920381D02*
|
||||
X193659239Y-61158476D01*
|
||||
X194992572Y-60920381D02*
|
||||
X194516381Y-60920381D01*
|
||||
X194468762Y-61396571D01*
|
||||
X194516381Y-61348952D01*
|
||||
X194611619Y-61301333D01*
|
||||
X194849715Y-61301333D01*
|
||||
X194944953Y-61348952D01*
|
||||
X194992572Y-61396571D01*
|
||||
X186697905Y-84637524D01*
|
||||
X186602667Y-84732762D01*
|
||||
X186459809Y-84780381D01*
|
||||
X186221714Y-84780381D01*
|
||||
X187174095Y-84494667D02*
|
||||
X187650286Y-84494667D01*
|
||||
X187078857Y-84780381D02*
|
||||
X187412190Y-83780381D01*
|
||||
X187745524Y-84780381D01*
|
||||
D13*
|
||||
X185555048Y-81240381D02*
|
||||
X185721715Y-82240381D01*
|
||||
X185888381Y-81240381D01*
|
||||
X186055048Y-82240381D02*
|
||||
X186055048Y-81240381D01*
|
||||
X186174095Y-81240381D01*
|
||||
X186245524Y-81288000D01*
|
||||
X186293143Y-81383238D01*
|
||||
X186316952Y-81478476D01*
|
||||
X186340762Y-81668952D01*
|
||||
X186340762Y-81811810D01*
|
||||
X186316952Y-82002286D01*
|
||||
X186293143Y-82097524D01*
|
||||
X186245524Y-82192762D01*
|
||||
X186174095Y-82240381D01*
|
||||
X186055048Y-82240381D01*
|
||||
X186555048Y-82240381D02*
|
||||
X186555048Y-81240381D01*
|
||||
X186674095Y-81240381D01*
|
||||
X186745524Y-81288000D01*
|
||||
X186793143Y-81383238D01*
|
||||
X186816952Y-81478476D01*
|
||||
X186840762Y-81668952D01*
|
||||
X186840762Y-81811810D01*
|
||||
X186816952Y-82002286D01*
|
||||
X186793143Y-82097524D01*
|
||||
X186745524Y-82192762D01*
|
||||
X186674095Y-82240381D01*
|
||||
X186555048Y-82240381D01*
|
||||
X187031238Y-81954667D02*
|
||||
X187269333Y-81954667D01*
|
||||
X186983619Y-82240381D02*
|
||||
X187150286Y-81240381D01*
|
||||
X187316952Y-82240381D01*
|
||||
D17*
|
||||
X185245524Y-79700381D02*
|
||||
X185245524Y-78700381D01*
|
||||
X185483619Y-78700381D01*
|
||||
X185626477Y-78748000D01*
|
||||
X185721715Y-78843238D01*
|
||||
X185769334Y-78938476D01*
|
||||
X185816953Y-79128952D01*
|
||||
X185816953Y-79271810D01*
|
||||
X185769334Y-79462286D01*
|
||||
X185721715Y-79557524D01*
|
||||
X185626477Y-79652762D01*
|
||||
X185483619Y-79700381D01*
|
||||
X185245524Y-79700381D01*
|
||||
X186197905Y-79414667D02*
|
||||
X186674096Y-79414667D01*
|
||||
X186102667Y-79700381D02*
|
||||
X186436000Y-78700381D01*
|
||||
X186769334Y-79700381D01*
|
||||
X187674096Y-79605143D02*
|
||||
X187626477Y-79652762D01*
|
||||
X187483620Y-79700381D01*
|
||||
X187388382Y-79700381D01*
|
||||
X187245524Y-79652762D01*
|
||||
X187150286Y-79557524D01*
|
||||
X187102667Y-79462286D01*
|
||||
X187055048Y-79271810D01*
|
||||
X187055048Y-79128952D01*
|
||||
X187102667Y-78938476D01*
|
||||
X187150286Y-78843238D01*
|
||||
X187245524Y-78748000D01*
|
||||
X187388382Y-78700381D01*
|
||||
X187483620Y-78700381D01*
|
||||
X187626477Y-78748000D01*
|
||||
X187674096Y-78795619D01*
|
||||
X185745524Y-77065143D02*
|
||||
X185697905Y-77112762D01*
|
||||
X185555048Y-77160381D01*
|
||||
X185459810Y-77160381D01*
|
||||
X185316952Y-77112762D01*
|
||||
X185221714Y-77017524D01*
|
||||
X185174095Y-76922286D01*
|
||||
X185126476Y-76731810D01*
|
||||
X185126476Y-76588952D01*
|
||||
X185174095Y-76398476D01*
|
||||
X185221714Y-76303238D01*
|
||||
X185316952Y-76208000D01*
|
||||
X185459810Y-76160381D01*
|
||||
X185555048Y-76160381D01*
|
||||
X185697905Y-76208000D01*
|
||||
X185745524Y-76255619D01*
|
||||
X186174095Y-77160381D02*
|
||||
X186174095Y-76160381D01*
|
||||
X186174095Y-76636571D02*
|
||||
X186745524Y-76636571D01*
|
||||
X186745524Y-77160381D02*
|
||||
X186745524Y-76160381D01*
|
||||
X187745524Y-77160381D02*
|
||||
X187174095Y-77160381D01*
|
||||
X187459809Y-77160381D02*
|
||||
X187459809Y-76160381D01*
|
||||
X187364571Y-76303238D01*
|
||||
X187269333Y-76398476D01*
|
||||
X187174095Y-76446095D01*
|
||||
X185491524Y-74525143D02*
|
||||
X185443905Y-74572762D01*
|
||||
X185301048Y-74620381D01*
|
||||
X185205810Y-74620381D01*
|
||||
X185062952Y-74572762D01*
|
||||
X184967714Y-74477524D01*
|
||||
X184920095Y-74382286D01*
|
||||
X184872476Y-74191810D01*
|
||||
X184872476Y-74048952D01*
|
||||
X184920095Y-73858476D01*
|
||||
X184967714Y-73763238D01*
|
||||
X185062952Y-73668000D01*
|
||||
X185205810Y-73620381D01*
|
||||
X185301048Y-73620381D01*
|
||||
X185443905Y-73668000D01*
|
||||
X185491524Y-73715619D01*
|
||||
X185920095Y-74620381D02*
|
||||
X185920095Y-73620381D01*
|
||||
X185920095Y-74096571D02*
|
||||
X186491524Y-74096571D01*
|
||||
X186491524Y-74620381D02*
|
||||
X186491524Y-73620381D01*
|
||||
X186920095Y-73715619D02*
|
||||
X186967714Y-73668000D01*
|
||||
X187062952Y-73620381D01*
|
||||
X187301048Y-73620381D01*
|
||||
X187396286Y-73668000D01*
|
||||
X187443905Y-73715619D01*
|
||||
X187491524Y-73810857D01*
|
||||
X187491524Y-73906095D01*
|
||||
X187443905Y-74048952D01*
|
||||
X186872476Y-74620381D01*
|
||||
X187491524Y-74620381D01*
|
||||
X185491524Y-71985143D02*
|
||||
X185443905Y-72032762D01*
|
||||
X185301048Y-72080381D01*
|
||||
X185205810Y-72080381D01*
|
||||
X185062952Y-72032762D01*
|
||||
X184967714Y-71937524D01*
|
||||
X184920095Y-71842286D01*
|
||||
X184872476Y-71651810D01*
|
||||
X184872476Y-71508952D01*
|
||||
X184920095Y-71318476D01*
|
||||
X184967714Y-71223238D01*
|
||||
X185062952Y-71128000D01*
|
||||
X185205810Y-71080381D01*
|
||||
X185301048Y-71080381D01*
|
||||
X185443905Y-71128000D01*
|
||||
X185491524Y-71175619D01*
|
||||
X185920095Y-72080381D02*
|
||||
X185920095Y-71080381D01*
|
||||
X185920095Y-71556571D02*
|
||||
X186491524Y-71556571D01*
|
||||
X186491524Y-72080381D02*
|
||||
X186491524Y-71080381D01*
|
||||
X186872476Y-71080381D02*
|
||||
X187491524Y-71080381D01*
|
||||
X187158190Y-71461333D01*
|
||||
X187301048Y-71461333D01*
|
||||
X187396286Y-71508952D01*
|
||||
X187443905Y-71556571D01*
|
||||
X187491524Y-71651810D01*
|
||||
X187491524Y-71889905D01*
|
||||
X187443905Y-71985143D01*
|
||||
X187396286Y-72032762D01*
|
||||
X187301048Y-72080381D01*
|
||||
X187015333Y-72080381D01*
|
||||
X186920095Y-72032762D01*
|
||||
X186872476Y-71985143D01*
|
||||
D13*
|
||||
X186094762Y-68588000D02*
|
||||
X186047143Y-68540381D01*
|
||||
X185975715Y-68540381D01*
|
||||
X185904286Y-68588000D01*
|
||||
X185856667Y-68683238D01*
|
||||
X185832858Y-68778476D01*
|
||||
X185809048Y-68968952D01*
|
||||
X185809048Y-69111810D01*
|
||||
X185832858Y-69302286D01*
|
||||
X185856667Y-69397524D01*
|
||||
X185904286Y-69492762D01*
|
||||
X185975715Y-69540381D01*
|
||||
X186023334Y-69540381D01*
|
||||
X186094762Y-69492762D01*
|
||||
X186118572Y-69445143D01*
|
||||
X186118572Y-69111810D01*
|
||||
X186023334Y-69111810D01*
|
||||
X186332858Y-69540381D02*
|
||||
X186332858Y-68540381D01*
|
||||
X186618572Y-69540381D01*
|
||||
X186618572Y-68540381D01*
|
||||
X186856668Y-69540381D02*
|
||||
X186856668Y-68540381D01*
|
||||
X186975715Y-68540381D01*
|
||||
X187047144Y-68588000D01*
|
||||
X187094763Y-68683238D01*
|
||||
X187118572Y-68778476D01*
|
||||
X187142382Y-68968952D01*
|
||||
X187142382Y-69111810D01*
|
||||
X187118572Y-69302286D01*
|
||||
X187094763Y-69397524D01*
|
||||
X187047144Y-69492762D01*
|
||||
X186975715Y-69540381D01*
|
||||
X186856668Y-69540381D01*
|
||||
X187332858Y-69254667D02*
|
||||
X187570953Y-69254667D01*
|
||||
X187285239Y-69540381D02*
|
||||
X187451906Y-68540381D01*
|
||||
X187618572Y-69540381D01*
|
||||
D17*
|
||||
X185459810Y-67000381D02*
|
||||
X185459810Y-66000381D01*
|
||||
X185888381Y-66952762D02*
|
||||
X186031238Y-67000381D01*
|
||||
X186269334Y-67000381D01*
|
||||
X186364572Y-66952762D01*
|
||||
X186412191Y-66905143D01*
|
||||
X186459810Y-66809905D01*
|
||||
X186459810Y-66714667D01*
|
||||
X186412191Y-66619429D01*
|
||||
X186364572Y-66571810D01*
|
||||
X186269334Y-66524190D01*
|
||||
X186078857Y-66476571D01*
|
||||
X185983619Y-66428952D01*
|
||||
X185936000Y-66381333D01*
|
||||
X185888381Y-66286095D01*
|
||||
X185888381Y-66190857D01*
|
||||
X185936000Y-66095619D01*
|
||||
X185983619Y-66048000D01*
|
||||
X186078857Y-66000381D01*
|
||||
X186316953Y-66000381D01*
|
||||
X186459810Y-66048000D01*
|
||||
X186888381Y-67000381D02*
|
||||
X186888381Y-66000381D01*
|
||||
X170488095Y-97273810D01*
|
||||
X146122399Y-64195858D02*
|
||||
X146884304Y-64195858D01*
|
||||
X146503352Y-64576810D02*
|
||||
X146503352Y-63814905D01*
|
||||
M02*
|
||||
805
samples/Gerber Image/simonShield-drl_map.gbr
Normal file
805
samples/Gerber Image/simonShield-drl_map.gbr
Normal file
@@ -0,0 +1,805 @@
|
||||
%FSLAX45Y45*%
|
||||
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 4.0.6-e0-6349~53~ubuntu16.04.1) date Sat Jul 1 03:26:22 2017*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.127000*%
|
||||
%ADD11C,0.150000*%
|
||||
%ADD12C,0.200000*%
|
||||
%ADD13C,0.300000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
D11*
|
||||
X19625000Y-11800000D02*
|
||||
X11300000Y-11800000D01*
|
||||
X19625000Y-5275000D02*
|
||||
X19625000Y-11800000D01*
|
||||
X11300000Y-5275000D02*
|
||||
X19625000Y-5275000D01*
|
||||
X11300000Y-11800000D02*
|
||||
X11300000Y-5275000D01*
|
||||
D12*
|
||||
X12657300Y-7234400D02*
|
||||
X12717300Y-7294400D01*
|
||||
X12717300Y-7234400D02*
|
||||
X12657300Y-7294400D01*
|
||||
X12657300Y-9571200D02*
|
||||
X18270700Y-9571200D02*
|
||||
X18330700Y-9631200D01*
|
||||
X18330700Y-9571200D02*
|
||||
X18270700Y-9631200D01*
|
||||
X13764260Y-8013700D02*
|
||||
G75*
|
||||
G03X13764260Y-8013700I-35560J0D01*
|
||||
G01*
|
||||
X13764260Y-8343900D02*
|
||||
G75*
|
||||
G03X13764260Y-8343900I-35560J0D01*
|
||||
G01*
|
||||
X13764260Y-10350500D02*
|
||||
G75*
|
||||
G03X13764260Y-10350500I-35560J0D01*
|
||||
G01*
|
||||
X13764260Y-10668000D02*
|
||||
G75*
|
||||
G03X13764260Y-10668000I-35560J0D01*
|
||||
G01*
|
||||
X14869160Y-7962900D02*
|
||||
G75*
|
||||
G03X14869160Y-7962900I-35560J0D01*
|
||||
G01*
|
||||
X14881860Y-8318500D02*
|
||||
G75*
|
||||
G03X14881860Y-8318500I-35560J0D01*
|
||||
G01*
|
||||
X14881860Y-10350500D02*
|
||||
G75*
|
||||
G03X14881860Y-10350500I-35560J0D01*
|
||||
G01*
|
||||
X14881860Y-10693400D02*
|
||||
G75*
|
||||
G03X14881860Y-10693400I-35560J0D01*
|
||||
G01*
|
||||
X16177260Y-8001000D02*
|
||||
G75*
|
||||
G03X16177260Y-8001000I-35560J0D01*
|
||||
G01*
|
||||
X16177260Y-8343900D02*
|
||||
G75*
|
||||
G03X16177260Y-8343900I-35560J0D01*
|
||||
G01*
|
||||
X16177260Y-10375900D02*
|
||||
G75*
|
||||
G03X16177260Y-10375900I-35560J0D01*
|
||||
G01*
|
||||
X16177260Y-10693400D02*
|
||||
G75*
|
||||
G03X16177260Y-10693400I-35560J0D01*
|
||||
G01*
|
||||
X17294860Y-8013700D02*
|
||||
G75*
|
||||
G03X17294860Y-8013700I-35560J0D01*
|
||||
G01*
|
||||
X17294860Y-8331200D02*
|
||||
G75*
|
||||
G03X17294860Y-8331200I-35560J0D01*
|
||||
G01*
|
||||
X17294860Y-10337800D02*
|
||||
G75*
|
||||
G03X17294860Y-10337800I-35560J0D01*
|
||||
G01*
|
||||
X17294860Y-10693400D02*
|
||||
G75*
|
||||
G03X17294860Y-10693400I-35560J0D01*
|
||||
G01*
|
||||
X13525500Y-6360800D02*
|
||||
X13525500Y-6440800D01*
|
||||
X13485500Y-6400800D02*
|
||||
X13565500Y-6400800D01*
|
||||
X14540000Y-5824000D02*
|
||||
X14540000Y-5904000D01*
|
||||
X14500000Y-5864000D02*
|
||||
X14580000Y-5864000D01*
|
||||
X14540000Y-6840000D02*
|
||||
X14540000Y-6920000D01*
|
||||
X14500000Y-6880000D02*
|
||||
X14580000Y-6880000D01*
|
||||
X15500000Y-8844000D02*
|
||||
X15500000Y-8924000D01*
|
||||
X15460000Y-8884000D02*
|
||||
X15540000Y-8884000D01*
|
||||
X15500000Y-9860000D02*
|
||||
X15500000Y-9940000D01*
|
||||
X15460000Y-9900000D02*
|
||||
X15540000Y-9900000D01*
|
||||
X12586462Y-7809738D01*
|
||||
X12686538Y-7759700D02*
|
||||
G75*
|
||||
G03X12686538Y-7759700I-50038J0D01*
|
||||
G01*
|
||||
X12586462Y-8471662D02*
|
||||
X12686538Y-8571738D01*
|
||||
X12686538Y-8471662D02*
|
||||
X12586462Y-8571738D01*
|
||||
X12686538Y-8521700D02*
|
||||
G75*
|
||||
G03X12686538Y-8521700I-50038J0D01*
|
||||
G01*
|
||||
X12586462Y-10033762D02*
|
||||
X12686538Y-10133838D01*
|
||||
X12686538Y-10033762D02*
|
||||
X12586462Y-10133838D01*
|
||||
X12686538Y-10083800D02*
|
||||
G75*
|
||||
G03X12686538Y-10083800I-50038J0D01*
|
||||
G01*
|
||||
X12586462Y-10795762D02*
|
||||
X12686538Y-10895838D01*
|
||||
X12686538Y-10795762D02*
|
||||
X12586462Y-10895838D01*
|
||||
X12686538Y-10845800D02*
|
||||
G75*
|
||||
G03X12686538Y-10845800I-50038J0D01*
|
||||
G01*
|
||||
X12942062Y-7709662D02*
|
||||
X13042138Y-7809738D01*
|
||||
X13042138Y-7709662D02*
|
||||
X12942062Y-7809738D01*
|
||||
X13042138Y-7759700D02*
|
||||
G75*
|
||||
G03X13042138Y-7759700I-50038J0D01*
|
||||
G01*
|
||||
X12942062Y-8471662D02*
|
||||
X13042138Y-8571738D01*
|
||||
X13042138Y-8471662D02*
|
||||
X12942062Y-8571738D01*
|
||||
X13042138Y-8521700D02*
|
||||
G75*
|
||||
G03X13042138Y-8521700I-50038J0D01*
|
||||
G01*
|
||||
X12942062Y-10033762D02*
|
||||
X13042138Y-10133838D01*
|
||||
X13042138Y-10033762D02*
|
||||
X12942062Y-10133838D01*
|
||||
X13042138Y-10083800D02*
|
||||
G75*
|
||||
G03X13042138Y-10083800I-50038J0D01*
|
||||
G01*
|
||||
X12942062Y-10795762D02*
|
||||
X13042138Y-10895838D01*
|
||||
X13042138Y-10795762D02*
|
||||
X12942062Y-10895838D01*
|
||||
X13042138Y-10845800D02*
|
||||
G75*
|
||||
G03X13042138Y-10845800I-50038J0D01*
|
||||
G01*
|
||||
X13297662Y-7214362D02*
|
||||
X13397738Y-7314438D01*
|
||||
X13397738Y-7214362D02*
|
||||
X13297662Y-7314438D01*
|
||||
X13397738Y-7264400D02*
|
||||
G75*
|
||||
G03X13397738Y-7264400I-50038J0D01*
|
||||
G01*
|
||||
X13297662Y-9563862D02*
|
||||
X13397738Y-9663938D01*
|
||||
X13397738Y-9563862D02*
|
||||
X13297662Y-9663938D01*
|
||||
X13397738Y-9613900D02*
|
||||
G75*
|
||||
G03X13397738Y-9613900I-50038J0D01*
|
||||
G01*
|
||||
X13373862Y-7722362D02*
|
||||
X13473938Y-7822438D01*
|
||||
X13473938Y-7722362D02*
|
||||
X13373862Y-7822438D01*
|
||||
X13473938Y-7772400D02*
|
||||
G75*
|
||||
G03X13473938Y-7772400I-50038J0D01*
|
||||
G01*
|
||||
X13373862Y-8484362D02*
|
||||
X13473938Y-8584438D01*
|
||||
X13473938Y-8484362D02*
|
||||
X13373862Y-8584438D01*
|
||||
X13473938Y-8534400D02*
|
||||
G75*
|
||||
G03X13473938Y-8534400I-50038J0D01*
|
||||
G01*
|
||||
X13373862Y-10033762D02*
|
||||
X13473938Y-10133838D01*
|
||||
X13473938Y-10033762D02*
|
||||
X13373862Y-10133838D01*
|
||||
X13473938Y-10083800D02*
|
||||
G75*
|
||||
G03X13473938Y-10083800I-50038J0D01*
|
||||
G01*
|
||||
X13373862Y-10795762D02*
|
||||
X13473938Y-10895838D01*
|
||||
X13473938Y-10795762D02*
|
||||
X13373862Y-10895838D01*
|
||||
X13473938Y-10845800D02*
|
||||
G75*
|
||||
G03X13473938Y-10845800I-50038J0D01*
|
||||
G01*
|
||||
X13551662Y-7214362D02*
|
||||
X13651738Y-7314438D01*
|
||||
X13651738Y-7214362D02*
|
||||
X13551662Y-7314438D01*
|
||||
X13651738Y-7264400D02*
|
||||
G75*
|
||||
G03X13651738Y-7264400I-50038J0D01*
|
||||
G01*
|
||||
X13551662Y-9563862D02*
|
||||
X13651738Y-9663938D01*
|
||||
X13651738Y-9563862D02*
|
||||
X13551662Y-9663938D01*
|
||||
X13651738Y-9613900D02*
|
||||
G75*
|
||||
G03X13651738Y-9613900I-50038J0D01*
|
||||
G01*
|
||||
X14491462Y-7722362D02*
|
||||
X14591538Y-7822438D01*
|
||||
X14591538Y-7722362D02*
|
||||
X14491462Y-7822438D01*
|
||||
X14591538Y-7772400D02*
|
||||
G75*
|
||||
G03X14591538Y-7772400I-50038J0D01*
|
||||
G01*
|
||||
X14491462Y-8484362D02*
|
||||
X14591538Y-8584438D01*
|
||||
X14591538Y-8484362D02*
|
||||
X14491462Y-8584438D01*
|
||||
X14591538Y-8534400D02*
|
||||
G75*
|
||||
G03X14591538Y-8534400I-50038J0D01*
|
||||
G01*
|
||||
X14491462Y-10084562D02*
|
||||
X14591538Y-10184638D01*
|
||||
X14591538Y-10084562D02*
|
||||
X14491462Y-10184638D01*
|
||||
X14591538Y-10134600D02*
|
||||
G75*
|
||||
G03X14591538Y-10134600I-50038J0D01*
|
||||
G01*
|
||||
X14491462Y-10846562D02*
|
||||
X14591538Y-10946638D01*
|
||||
X14591538Y-10846562D02*
|
||||
X14491462Y-10946638D01*
|
||||
X14591538Y-10896600D02*
|
||||
G75*
|
||||
G03X14591538Y-10896600I-50038J0D01*
|
||||
G01*
|
||||
X15032859Y-6362405D02*
|
||||
X15132935Y-6462481D01*
|
||||
X15132935Y-6362405D02*
|
||||
X15032859Y-6462481D01*
|
||||
X15132935Y-6412443D02*
|
||||
G75*
|
||||
G03X15132935Y-6412443I-50038J0D01*
|
||||
G01*
|
||||
X15667859Y-6362405D02*
|
||||
X15767935Y-6462481D01*
|
||||
X15767935Y-6362405D02*
|
||||
X15667859Y-6462481D01*
|
||||
X15767935Y-6412443D02*
|
||||
G75*
|
||||
G03X15767935Y-6412443I-50038J0D01*
|
||||
G01*
|
||||
X16104362Y-5906262D02*
|
||||
X16204438Y-6006338D01*
|
||||
X16204438Y-5906262D02*
|
||||
X16104362Y-6006338D01*
|
||||
X16204438Y-5956300D02*
|
||||
G75*
|
||||
G03X16204438Y-5956300I-50038J0D01*
|
||||
G01*
|
||||
X16104362Y-6211062D02*
|
||||
X16204438Y-6311138D01*
|
||||
X16204438Y-6211062D02*
|
||||
X16104362Y-6311138D01*
|
||||
X16204438Y-6261100D02*
|
||||
G75*
|
||||
G03X16204438Y-6261100I-50038J0D01*
|
||||
G01*
|
||||
X16396462Y-7735062D02*
|
||||
X16496538Y-7835138D01*
|
||||
X16496538Y-7735062D02*
|
||||
X16396462Y-7835138D01*
|
||||
X16496538Y-7785100D02*
|
||||
G75*
|
||||
G03X16496538Y-7785100I-50038J0D01*
|
||||
G01*
|
||||
X16396462Y-8497062D02*
|
||||
X16496538Y-8597138D01*
|
||||
X16496538Y-8497062D02*
|
||||
X16396462Y-8597138D01*
|
||||
X16496538Y-8547100D02*
|
||||
G75*
|
||||
G03X16496538Y-8547100I-50038J0D01*
|
||||
G01*
|
||||
X16396462Y-10071862D02*
|
||||
X16496538Y-10171938D01*
|
||||
X16496538Y-10071862D02*
|
||||
X16396462Y-10171938D01*
|
||||
X16496538Y-10121900D02*
|
||||
G75*
|
||||
G03X16496538Y-10121900I-50038J0D01*
|
||||
G01*
|
||||
X16396462Y-10833862D02*
|
||||
X16496538Y-10933938D01*
|
||||
X16496538Y-10833862D02*
|
||||
X16396462Y-10933938D01*
|
||||
X16496538Y-10883900D02*
|
||||
G75*
|
||||
G03X16496538Y-10883900I-50038J0D01*
|
||||
G01*
|
||||
X16866362Y-5906262D02*
|
||||
X16966438Y-6006338D01*
|
||||
X16966438Y-5906262D02*
|
||||
X16866362Y-6006338D01*
|
||||
X16966438Y-5956300D02*
|
||||
G75*
|
||||
G03X16966438Y-5956300I-50038J0D01*
|
||||
G01*
|
||||
X16866362Y-6211062D02*
|
||||
X16966438Y-6311138D01*
|
||||
X16966438Y-6211062D02*
|
||||
X16866362Y-6311138D01*
|
||||
X16966438Y-6261100D02*
|
||||
G75*
|
||||
G03X16966438Y-6261100I-50038J0D01*
|
||||
G01*
|
||||
X17336262Y-7214362D02*
|
||||
X17436338Y-7314438D01*
|
||||
X17436338Y-7214362D02*
|
||||
X17336262Y-7314438D01*
|
||||
X17436338Y-7264400D02*
|
||||
G75*
|
||||
G03X17436338Y-7264400I-50038J0D01*
|
||||
G01*
|
||||
X17336262Y-9551162D02*
|
||||
X17436338Y-9651238D01*
|
||||
X17436338Y-9551162D02*
|
||||
X17336262Y-9651238D01*
|
||||
X17436338Y-9601200D02*
|
||||
G75*
|
||||
G03X17436338Y-9601200I-50038J0D01*
|
||||
G01*
|
||||
X17514062Y-7709662D02*
|
||||
X17614138Y-7809738D01*
|
||||
X17614138Y-7709662D02*
|
||||
X17514062Y-7809738D01*
|
||||
X17614138Y-7759700D02*
|
||||
G75*
|
||||
G03X17614138Y-7759700I-50038J0D01*
|
||||
G01*
|
||||
X17514062Y-8471662D02*
|
||||
X17614138Y-8571738D01*
|
||||
X17614138Y-8471662D02*
|
||||
X17514062Y-8571738D01*
|
||||
X17614138Y-8521700D02*
|
||||
G75*
|
||||
G03X17614138Y-8521700I-50038J0D01*
|
||||
G01*
|
||||
X17514062Y-10046462D02*
|
||||
X17614138Y-10146538D01*
|
||||
X17614138Y-10046462D02*
|
||||
X17514062Y-10146538D01*
|
||||
X17614138Y-10096500D02*
|
||||
G75*
|
||||
G03X17614138Y-10096500I-50038J0D01*
|
||||
G01*
|
||||
X17514062Y-10808462D02*
|
||||
X17614138Y-10908538D01*
|
||||
X17614138Y-10808462D02*
|
||||
X17514062Y-10908538D01*
|
||||
X17614138Y-10858500D02*
|
||||
G75*
|
||||
G03X17614138Y-10858500I-50038J0D01*
|
||||
G01*
|
||||
X17590262Y-7214362D02*
|
||||
X17690338Y-7314438D01*
|
||||
X17690338Y-7214362D02*
|
||||
X17590262Y-7314438D01*
|
||||
X17690338Y-7264400D02*
|
||||
G75*
|
||||
G03X17690338Y-7264400I-50038J0D01*
|
||||
G01*
|
||||
X17590262Y-9551162D02*
|
||||
X17690338Y-9651238D01*
|
||||
X17690338Y-9551162D02*
|
||||
X17590262Y-9651238D01*
|
||||
X17690338Y-9601200D02*
|
||||
G75*
|
||||
G03X17690338Y-9601200I-50038J0D01*
|
||||
G01*
|
||||
X17945862Y-10046462D02*
|
||||
X18045938Y-10146538D01*
|
||||
X18045938Y-10046462D02*
|
||||
X17945862Y-10146538D01*
|
||||
X18045938Y-10096500D02*
|
||||
G75*
|
||||
G03X18045938Y-10096500I-50038J0D01*
|
||||
G01*
|
||||
X17945862Y-10808462D02*
|
||||
X18045938Y-10908538D01*
|
||||
X18045938Y-10808462D02*
|
||||
X17945862Y-10908538D01*
|
||||
X18045938Y-10858500D02*
|
||||
G75*
|
||||
G03X18045938Y-10858500I-50038J0D01*
|
||||
G01*
|
||||
X17958562Y-7709662D02*
|
||||
X18058638Y-7809738D01*
|
||||
X18058638Y-7709662D02*
|
||||
X17958562Y-7809738D01*
|
||||
X18058638Y-7759700D02*
|
||||
G75*
|
||||
G03X18058638Y-7759700I-50038J0D01*
|
||||
G01*
|
||||
X17958562Y-8471662D02*
|
||||
X18058638Y-8571738D01*
|
||||
X18058638Y-8471662D02*
|
||||
X17958562Y-8571738D01*
|
||||
X18058638Y-8521700D02*
|
||||
G75*
|
||||
G03X18058638Y-8521700I-50038J0D01*
|
||||
G01*
|
||||
X18301462Y-7709662D02*
|
||||
X18401538Y-7809738D01*
|
||||
X18401538Y-7709662D02*
|
||||
X18301462Y-7809738D01*
|
||||
X18401538Y-7759700D02*
|
||||
G75*
|
||||
G03X18401538Y-7759700I-50038J0D01*
|
||||
G01*
|
||||
X18301462Y-8471662D02*
|
||||
X18401538Y-8571738D01*
|
||||
X18401538Y-8471662D02*
|
||||
X18301462Y-8571738D01*
|
||||
X18401538Y-8521700D02*
|
||||
G75*
|
||||
G03X18401538Y-8521700I-50038J0D01*
|
||||
G01*
|
||||
X18301462Y-10046462D02*
|
||||
X18401538Y-10146538D01*
|
||||
X18401538Y-10046462D02*
|
||||
X18301462Y-10146538D01*
|
||||
X18401538Y-10096500D02*
|
||||
G75*
|
||||
G03X18401538Y-10096500I-50038J0D01*
|
||||
G01*
|
||||
X18301462Y-10808462D02*
|
||||
X18401538Y-10908538D01*
|
||||
X18401538Y-10808462D02*
|
||||
X18301462Y-10908538D01*
|
||||
X18401538Y-10858500D02*
|
||||
G75*
|
||||
G03X18401538Y-10858500I-50038J0D01*
|
||||
G01*
|
||||
X11760200Y-6096000D02*
|
||||
X11861800Y-6197600D01*
|
||||
X11861800Y-6096000D02*
|
||||
X18872200Y-10668000D02*
|
||||
X18973800Y-10769600D01*
|
||||
X18973800Y-10668000D02*
|
||||
X18872200Y-10769600D01*
|
||||
X18923000Y-10668000D02*
|
||||
X18923000Y-10769600D01*
|
||||
X18872200Y-10718800D02*
|
||||
X18973800Y-10718800D01*
|
||||
X18872200Y-10922000D02*
|
||||
X18973800Y-11023600D01*
|
||||
X18973800Y-10922000D02*
|
||||
X18872200Y-11023600D01*
|
||||
X18923000Y-10922000D02*
|
||||
X18923000Y-11023600D01*
|
||||
X18872200Y-10972800D02*
|
||||
X18973800Y-10972800D01*
|
||||
X19126200Y-6096000D02*
|
||||
X19227800Y-6197600D01*
|
||||
X19227800Y-6096000D02*
|
||||
X19126200Y-6197600D01*
|
||||
X19177000Y-6096000D02*
|
||||
X19177000Y-6197600D01*
|
||||
X19126200Y-6146800D02*
|
||||
X19227800Y-6146800D01*
|
||||
X19126200Y-6350000D02*
|
||||
X19227800Y-6451600D01*
|
||||
X19227800Y-6350000D02*
|
||||
X19126200Y-6451600D01*
|
||||
X19177000Y-6350000D02*
|
||||
X19177000Y-6451600D01*
|
||||
X19126200Y-6400800D02*
|
||||
X19227800Y-6400800D01*
|
||||
X19126200Y-6604000D02*
|
||||
X19227800Y-6705600D01*
|
||||
X19227800Y-6604000D02*
|
||||
X19126200Y-6705600D01*
|
||||
X19177000Y-6604000D02*
|
||||
X19177000Y-6705600D01*
|
||||
X19126200Y-6654800D02*
|
||||
X19227800Y-6654800D01*
|
||||
X19126200Y-6858000D02*
|
||||
X19227800Y-6959600D01*
|
||||
X19227800Y-6858000D02*
|
||||
X19126200Y-6959600D01*
|
||||
X19177000Y-6858000D02*
|
||||
X19177000Y-6959600D01*
|
||||
X19126200Y-6908800D02*
|
||||
X19227800Y-6908800D01*
|
||||
X19126200Y-7112000D02*
|
||||
X19227800Y-7213600D01*
|
||||
X19227800Y-7112000D02*
|
||||
X19126200Y-7213600D01*
|
||||
X19177000Y-7112000D02*
|
||||
X19177000Y-7213600D01*
|
||||
X19126200Y-7162800D02*
|
||||
X19227800Y-7162800D01*
|
||||
X19126200Y-7366000D02*
|
||||
X19227800Y-7467600D01*
|
||||
X19227800Y-7366000D02*
|
||||
X19126200Y-7467600D01*
|
||||
X19177000Y-7366000D02*
|
||||
X19177000Y-7467600D01*
|
||||
X19126200Y-7416800D02*
|
||||
X19227800Y-7416800D01*
|
||||
X19126200Y-7620000D02*
|
||||
X19227800Y-7721600D01*
|
||||
X19227800Y-7620000D02*
|
||||
X19126200Y-7721600D01*
|
||||
X19177000Y-7620000D02*
|
||||
X19177000Y-7721600D01*
|
||||
X19126200Y-7670800D02*
|
||||
X19227800Y-7670800D01*
|
||||
X19126200Y-7874000D02*
|
||||
X19227800Y-7975600D01*
|
||||
X19227800Y-7874000D02*
|
||||
X19126200Y-7975600D01*
|
||||
X19177000Y-7874000D02*
|
||||
X19177000Y-7975600D01*
|
||||
X19126200Y-7924800D02*
|
||||
X19227800Y-7924800D01*
|
||||
X19126200Y-8128000D02*
|
||||
X19227800Y-8229600D01*
|
||||
X19227800Y-8128000D02*
|
||||
X19126200Y-8229600D01*
|
||||
X19177000Y-8128000D02*
|
||||
X19177000Y-8229600D01*
|
||||
X19126200Y-8178800D02*
|
||||
X19227800Y-8178800D01*
|
||||
X19126200Y-8382000D02*
|
||||
X19227800Y-8483600D01*
|
||||
X19227800Y-8382000D02*
|
||||
X19126200Y-8483600D01*
|
||||
X19177000Y-8382000D02*
|
||||
X19177000Y-8483600D01*
|
||||
X19126200Y-8432800D02*
|
||||
X19227800Y-8432800D01*
|
||||
X19126200Y-8636000D02*
|
||||
X19227800Y-8737600D01*
|
||||
X19227800Y-8636000D02*
|
||||
X19126200Y-8737600D01*
|
||||
X19177000Y-8636000D02*
|
||||
X19177000Y-8737600D01*
|
||||
X19126200Y-8686800D02*
|
||||
X19227800Y-8686800D01*
|
||||
X19126200Y-8890000D02*
|
||||
X19227800Y-8991600D01*
|
||||
X19227800Y-8890000D02*
|
||||
X19126200Y-8991600D01*
|
||||
X19177000Y-8890000D02*
|
||||
X19177000Y-8991600D01*
|
||||
X19126200Y-8940800D02*
|
||||
X19227800Y-8940800D01*
|
||||
X19126200Y-9144000D02*
|
||||
X19227800Y-9245600D01*
|
||||
X19227800Y-9144000D02*
|
||||
X19126200Y-9245600D01*
|
||||
X19177000Y-9144000D02*
|
||||
X19177000Y-9245600D01*
|
||||
X19126200Y-9194800D02*
|
||||
X19227800Y-9194800D01*
|
||||
X19126200Y-9398000D02*
|
||||
X19227800Y-9499600D01*
|
||||
X19227800Y-9398000D02*
|
||||
X19126200Y-9499600D01*
|
||||
X19177000Y-9398000D02*
|
||||
X19177000Y-9499600D01*
|
||||
X19126200Y-9448800D02*
|
||||
X19227800Y-9448800D01*
|
||||
X19126200Y-9652000D02*
|
||||
X19227800Y-9753600D01*
|
||||
X19227800Y-9652000D02*
|
||||
X19126200Y-9753600D01*
|
||||
X19177000Y-9652000D02*
|
||||
X19177000Y-9753600D01*
|
||||
X19126200Y-9702800D02*
|
||||
X19227800Y-9702800D01*
|
||||
X19126200Y-9906000D02*
|
||||
X19227800Y-10007600D01*
|
||||
X19227800Y-9906000D02*
|
||||
X19126200Y-10007600D01*
|
||||
X19177000Y-9906000D02*
|
||||
X19177000Y-10007600D01*
|
||||
X19126200Y-9956800D02*
|
||||
X19227800Y-9956800D01*
|
||||
X19126200Y-10160000D02*
|
||||
X19227800Y-10261600D01*
|
||||
X19227800Y-10160000D02*
|
||||
X19126200Y-10261600D01*
|
||||
X19177000Y-10160000D02*
|
||||
X19177000Y-10261600D01*
|
||||
X19126200Y-10210800D02*
|
||||
X19227800Y-10210800D01*
|
||||
X19126200Y-10414000D02*
|
||||
X19227800Y-10515600D01*
|
||||
X19227800Y-10414000D02*
|
||||
X19126200Y-10515600D01*
|
||||
X19177000Y-10414000D02*
|
||||
X19177000Y-10515600D01*
|
||||
X19126200Y-10464800D02*
|
||||
X19227800Y-10464800D01*
|
||||
X19126200Y-10668000D02*
|
||||
X19227800Y-10769600D01*
|
||||
X19227800Y-10668000D02*
|
||||
X19126200Y-10769600D01*
|
||||
X19177000Y-10668000D02*
|
||||
X19177000Y-10769600D01*
|
||||
X19126200Y-10718800D02*
|
||||
X19227800Y-10718800D01*
|
||||
X19126200Y-10922000D02*
|
||||
X19227800Y-11023600D01*
|
||||
X19227800Y-10922000D02*
|
||||
X19126200Y-11023600D01*
|
||||
X19177000Y-10922000D02*
|
||||
X19177000Y-11023600D01*
|
||||
X19126200Y-10972800D02*
|
||||
X19227800Y-10972800D01*
|
||||
D13*
|
||||
X11563928Y-12273214D02*
|
||||
X11563928Y-11973214D01*
|
||||
X11635357Y-11973214D01*
|
||||
X11678214Y-11987500D01*
|
||||
X11706786Y-12016071D01*
|
||||
X11721071Y-12044643D01*
|
||||
X11735357Y-12101786D01*
|
||||
X11735357Y-12144643D01*
|
||||
X11721071Y-12201786D01*
|
||||
X11706786Y-12230357D01*
|
||||
X11678214Y-12258929D01*
|
||||
X11635357Y-12273214D01*
|
||||
X11563928Y-12273214D01*
|
||||
X11863928Y-12273214D02*
|
||||
X11863928Y-12073214D01*
|
||||
X11863928Y-12130357D02*
|
||||
X11878214Y-12101786D01*
|
||||
X11892500Y-12087500D01*
|
||||
X11921071Y-12073214D01*
|
||||
X11949643Y-12073214D01*
|
||||
X12049643Y-12273214D02*
|
||||
X12049643Y-12073214D01*
|
||||
X12049643Y-11973214D02*
|
||||
X12035357Y-11987500D01*
|
||||
X12049643Y-12001786D01*
|
||||
X12063928Y-11987500D01*
|
||||
X12049643Y-11973214D01*
|
||||
X18121071Y-12688929D01*
|
||||
X18106786Y-12646071D01*
|
||||
X18092500Y-12617500D01*
|
||||
X18063929Y-12574643D01*
|
||||
X18049643Y-12560357D01*
|
||||
X11292500Y-13163500D02*
|
||||
G75*
|
||||
G03X11292500Y-13163500I-35560J0D01*
|
||||
G01*
|
||||
X11621071Y-12999214D02*
|
||||
X11649643Y-12999214D01*
|
||||
X11678214Y-13013500D01*
|
||||
X11692500Y-13027786D01*
|
||||
X11706786Y-13056357D01*
|
||||
X11721071Y-13113500D01*
|
||||
X11721071Y-13184929D01*
|
||||
X11706786Y-13242071D01*
|
||||
X11692500Y-13270643D01*
|
||||
X12706786Y-13509500D01*
|
||||
X12735357Y-13495214D01*
|
||||
X12778214Y-13495214D01*
|
||||
X12806786Y-13509500D01*
|
||||
X12821071Y-13538071D01*
|
||||
X12821071Y-13695214D01*
|
||||
X12963928Y-13695214D02*
|
||||
X12963928Y-13495214D01*
|
||||
X12963928Y-13523786D02*
|
||||
X12978214Y-13509500D01*
|
||||
X13006786Y-13495214D01*
|
||||
X13049643Y-13495214D01*
|
||||
X13078214Y-13509500D01*
|
||||
X13092500Y-13538071D01*
|
||||
X13092500Y-13695214D01*
|
||||
X13092500Y-13538071D02*
|
||||
X13106786Y-13509500D01*
|
||||
X13135357Y-13495214D01*
|
||||
X13178214Y-13495214D01*
|
||||
X13206786Y-13509500D01*
|
||||
X13221071Y-13538071D01*
|
||||
X13221071Y-13695214D01*
|
||||
X13806786Y-13380929D02*
|
||||
X13549643Y-13766643D01*
|
||||
X14192500Y-13395214D02*
|
||||
X14221071Y-13395214D01*
|
||||
X14249643Y-13409500D01*
|
||||
X14263928Y-13423786D01*
|
||||
X14278214Y-13452357D01*
|
||||
X14292500Y-13509500D01*
|
||||
X14292500Y-13580929D01*
|
||||
X14278214Y-13638071D01*
|
||||
X14263928Y-13666643D01*
|
||||
X14249643Y-13680929D01*
|
||||
X14221071Y-13695214D01*
|
||||
X14192500Y-13695214D01*
|
||||
X14163928Y-13680929D01*
|
||||
X14149643Y-13666643D01*
|
||||
X14135357Y-13638071D01*
|
||||
X14121071Y-13580929D01*
|
||||
X14121071Y-13509500D01*
|
||||
X14135357Y-13452357D01*
|
||||
X14149643Y-13423786D01*
|
||||
X14163928Y-13409500D01*
|
||||
X14192500Y-13395214D01*
|
||||
X14421071Y-13666643D02*
|
||||
X14435357Y-13680929D01*
|
||||
X14421071Y-13695214D01*
|
||||
X14406786Y-13680929D01*
|
||||
X14421071Y-13666643D01*
|
||||
X14421071Y-13695214D01*
|
||||
X14621071Y-13395214D02*
|
||||
X14649643Y-13395214D01*
|
||||
X14678214Y-13409500D01*
|
||||
X14692500Y-13423786D01*
|
||||
X14706785Y-13452357D01*
|
||||
X14721071Y-13509500D01*
|
||||
X14721071Y-13580929D01*
|
||||
X14706785Y-13638071D01*
|
||||
X14692500Y-13666643D01*
|
||||
X14678214Y-13680929D01*
|
||||
X14649643Y-13695214D01*
|
||||
X14621071Y-13695214D01*
|
||||
X14592500Y-13680929D01*
|
||||
X14578214Y-13666643D01*
|
||||
X14563928Y-13638071D01*
|
||||
X14549643Y-13580929D01*
|
||||
X14549643Y-13509500D01*
|
||||
X14563928Y-13452357D01*
|
||||
X14578214Y-13423786D01*
|
||||
X14592500Y-13409500D01*
|
||||
X14621071Y-13395214D01*
|
||||
X14821071Y-13395214D02*
|
||||
X15006785Y-13395214D01*
|
||||
X14906785Y-13509500D01*
|
||||
X14949643Y-13509500D01*
|
||||
X14978214Y-13523786D01*
|
||||
X14992500Y-13538071D01*
|
||||
X15006785Y-13566643D01*
|
||||
X11292500Y-14797538D01*
|
||||
X11292500Y-14697462D02*
|
||||
X11192424Y-14797538D01*
|
||||
X11292500Y-14747500D02*
|
||||
G75*
|
||||
G03X11292500Y-14747500I-50038J0D01*
|
||||
G01*
|
||||
X11721071Y-14883214D02*
|
||||
X11549643Y-14883214D01*
|
||||
X11635357Y-14883214D02*
|
||||
X11635357Y-14583214D01*
|
||||
X11606786Y-14626071D01*
|
||||
X11578214Y-14654643D01*
|
||||
X18135357Y-15136357D01*
|
||||
X18121071Y-15064929D01*
|
||||
X18106786Y-15022071D01*
|
||||
X18092500Y-14993500D01*
|
||||
X18063929Y-14950643D01*
|
||||
X18049643Y-14936357D01*
|
||||
M02*
|
||||
227
samples/INI/filenames/buildozer.spec
Normal file
227
samples/INI/filenames/buildozer.spec
Normal file
@@ -0,0 +1,227 @@
|
||||
[app]
|
||||
|
||||
# (str) Title of your application
|
||||
title = Kivy Kazam
|
||||
|
||||
# (str) Package name
|
||||
package.name = kivykazam
|
||||
|
||||
# (str) Package domain (needed for android/ios packaging)
|
||||
package.domain = org.test
|
||||
|
||||
# (str) Source code where the main.py live
|
||||
source.dir = .
|
||||
|
||||
# (list) Source files to include (let empty to include all the files)
|
||||
source.include_exts = py,png,jpg,kv,atlas
|
||||
|
||||
# (list) List of inclusions using pattern matching
|
||||
#source.include_patterns = assets/*,images/*.png
|
||||
|
||||
# (list) Source files to exclude (let empty to not exclude anything)
|
||||
#source.exclude_exts = spec
|
||||
|
||||
# (list) List of directory to exclude (let empty to not exclude anything)
|
||||
#source.exclude_dirs = tests, bin
|
||||
|
||||
# (list) List of exclusions using pattern matching
|
||||
#source.exclude_patterns = license,images/*/*.jpg
|
||||
|
||||
# (str) Application versioning (method 1)
|
||||
version = 0.1
|
||||
|
||||
# (str) Application versioning (method 2)
|
||||
# version.regex = __version__ = ['"](.*)['"]
|
||||
# version.filename = %(source.dir)s/main.py
|
||||
|
||||
# (list) Application requirements
|
||||
# comma seperated e.g. requirements = sqlite3,kivy
|
||||
requirements = kivy
|
||||
|
||||
# (str) Custom source folders for requirements
|
||||
# Sets custom source for any requirements with recipes
|
||||
# requirements.source.kivy = ../../kivy
|
||||
|
||||
# (list) Garden requirements
|
||||
#garden_requirements =
|
||||
|
||||
# (str) Presplash of the application
|
||||
#presplash.filename = %(source.dir)s/data/presplash.png
|
||||
|
||||
# (str) Icon of the application
|
||||
#icon.filename = %(source.dir)s/data/icon.png
|
||||
|
||||
# (str) Supported orientation (one of landscape, portrait or all)
|
||||
orientation = all
|
||||
|
||||
# (list) List of service to declare
|
||||
#services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY
|
||||
|
||||
#
|
||||
# OSX Specific
|
||||
#
|
||||
|
||||
#
|
||||
# author = © Copyright Info
|
||||
|
||||
#
|
||||
# Android specific
|
||||
#
|
||||
|
||||
# (bool) Indicate if the application should be fullscreen or not
|
||||
fullscreen = 1
|
||||
|
||||
# (list) Permissions
|
||||
#android.permissions = INTERNET
|
||||
|
||||
# (int) Android API to use
|
||||
#android.api = 19
|
||||
|
||||
# (int) Minimum API required
|
||||
android.minapi = 13
|
||||
|
||||
# (int) Android SDK version to use
|
||||
#android.sdk = 20
|
||||
|
||||
# (str) Android NDK version to use
|
||||
#android.ndk = 9c
|
||||
|
||||
# (bool) Use --private data storage (True) or --dir public storage (False)
|
||||
#android.private_storage = True
|
||||
|
||||
# (str) Android NDK directory (if empty, it will be automatically downloaded.)
|
||||
#android.ndk_path =
|
||||
|
||||
# (str) Android SDK directory (if empty, it will be automatically downloaded.)
|
||||
#android.sdk_path =
|
||||
|
||||
# (str) ANT directory (if empty, it will be automatically downloaded.)
|
||||
#android.ant_path =
|
||||
|
||||
# (str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
|
||||
#android.p4a_dir =
|
||||
|
||||
# (list) python-for-android whitelist
|
||||
#android.p4a_whitelist =
|
||||
|
||||
# (bool) If True, then skip trying to update the Android sdk
|
||||
# This can be useful to avoid excess Internet downloads or save time
|
||||
# when an update is due and you just want to test/build your package
|
||||
# android.skip_update = False
|
||||
|
||||
# (str) Android entry point, default is ok for Kivy-based app
|
||||
#android.entrypoint = org.renpy.android.PythonActivity
|
||||
|
||||
# (list) List of Java .jar files to add to the libs so that pyjnius can access
|
||||
# their classes. Don't add jars that you do not need, since extra jars can slow
|
||||
# down the build process. Allows wildcards matching, for example:
|
||||
# OUYA-ODK/libs/*.jar
|
||||
#android.add_jars = foo.jar,bar.jar,path/to/more/*.jar
|
||||
|
||||
# (list) List of Java files to add to the android project (can be java or a
|
||||
# directory containing the files)
|
||||
#android.add_src =
|
||||
|
||||
# (str) python-for-android branch to use, if not master, useful to try
|
||||
# not yet merged features.
|
||||
#android.branch = master
|
||||
|
||||
# (str) OUYA Console category. Should be one of GAME or APP
|
||||
# If you leave this blank, OUYA support will not be enabled
|
||||
#android.ouya.category = GAME
|
||||
|
||||
# (str) Filename of OUYA Console icon. It must be a 732x412 png image.
|
||||
#android.ouya.icon.filename = %(source.dir)s/data/ouya_icon.png
|
||||
|
||||
# (str) XML file to include as an intent filters in <activity> tag
|
||||
#android.manifest.intent_filters =
|
||||
|
||||
# (list) Android additionnal libraries to copy into libs/armeabi
|
||||
#android.add_libs_armeabi = libs/android/*.so
|
||||
#android.add_libs_armeabi_v7a = libs/android-v7/*.so
|
||||
#android.add_libs_x86 = libs/android-x86/*.so
|
||||
#android.add_libs_mips = libs/android-mips/*.so
|
||||
|
||||
# (bool) Indicate whether the screen should stay on
|
||||
# Don't forget to add the WAKE_LOCK permission if you set this to True
|
||||
#android.wakelock = False
|
||||
|
||||
# (list) Android application meta-data to set (key=value format)
|
||||
#android.meta_data =
|
||||
|
||||
# (list) Android library project to add (will be added in the
|
||||
# project.properties automatically.)
|
||||
#android.library_references =
|
||||
|
||||
# (str) Android logcat filters to use
|
||||
#android.logcat_filters = *:S python:D
|
||||
|
||||
# (bool) Copy library instead of making a libpymodules.so
|
||||
#android.copy_libs = 1
|
||||
|
||||
#
|
||||
# iOS specific
|
||||
#
|
||||
|
||||
# (str) Path to a custom kivy-ios folder
|
||||
#ios.kivy_ios_dir = ../kivy-ios
|
||||
|
||||
# (str) Name of the certificate to use for signing the debug version
|
||||
# Get a list of available identities: buildozer ios list_identities
|
||||
#ios.codesign.debug = "iPhone Developer: <lastname> <firstname> (<hexstring>)"
|
||||
|
||||
# (str) Name of the certificate to use for signing the release version
|
||||
#ios.codesign.release = %(ios.codesign.debug)s
|
||||
|
||||
|
||||
[buildozer]
|
||||
|
||||
# (int) Log level (0 = error only, 1 = info, 2 = debug (with command output))
|
||||
log_level = 1
|
||||
|
||||
# (int) Display warning if buildozer is run as root (0 = False, 1 = True)
|
||||
warn_on_root = 1
|
||||
|
||||
# (str) Path to build artifact storage, absolute or relative to spec file
|
||||
# build_dir = ./.buildozer
|
||||
|
||||
# (str) Path to build output (i.e. .apk, .ipa) storage
|
||||
# bin_dir = ./bin
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# List as sections
|
||||
#
|
||||
# You can define all the "list" as [section:key].
|
||||
# Each line will be considered as a option to the list.
|
||||
# Let's take [app] / source.exclude_patterns.
|
||||
# Instead of doing:
|
||||
#
|
||||
#[app]
|
||||
#source.exclude_patterns = license,data/audio/*.wav,data/images/original/*
|
||||
#
|
||||
# This can be translated into:
|
||||
#
|
||||
#[app:source.exclude_patterns]
|
||||
#license
|
||||
#data/audio/*.wav
|
||||
#data/images/original/*
|
||||
#
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Profiles
|
||||
#
|
||||
# You can extend section / key with a profile
|
||||
# For example, you want to deploy a demo version of your application without
|
||||
# HD content. You could first change the title to add "(demo)" in the name
|
||||
# and extend the excluded directories to remove the HD content.
|
||||
#
|
||||
#[app@demo]
|
||||
#title = My Application (demo)
|
||||
#
|
||||
#[app:source.exclude_patterns@demo]
|
||||
#images/hd/*
|
||||
#
|
||||
# Then, invoke the command line with the "demo" profile:
|
||||
#
|
||||
#buildozer --profile demo android debug
|
||||
62
samples/INI/ultimate-temp-controller.pro
Normal file
62
samples/INI/ultimate-temp-controller.pro
Normal file
@@ -0,0 +1,62 @@
|
||||
update=22/05/2015 07:44:53
|
||||
version=1
|
||||
last_client=kicad
|
||||
[general]
|
||||
version=1
|
||||
RootSch=
|
||||
BoardNm=
|
||||
[pcbnew]
|
||||
version=1
|
||||
LastNetListRead=
|
||||
UseCmpFile=1
|
||||
PadDrill=0.600000000000
|
||||
PadDrillOvalY=0.600000000000
|
||||
PadSizeH=1.500000000000
|
||||
PadSizeV=1.500000000000
|
||||
PcbTextSizeV=1.500000000000
|
||||
PcbTextSizeH=1.500000000000
|
||||
PcbTextThickness=0.300000000000
|
||||
ModuleTextSizeV=1.000000000000
|
||||
ModuleTextSizeH=1.000000000000
|
||||
ModuleTextSizeThickness=0.150000000000
|
||||
SolderMaskClearance=0.000000000000
|
||||
SolderMaskMinWidth=0.000000000000
|
||||
DrawSegmentWidth=0.200000000000
|
||||
BoardOutlineThickness=0.100000000000
|
||||
ModuleOutlineThickness=0.150000000000
|
||||
[cvpcb]
|
||||
version=1
|
||||
NetIExt=net
|
||||
[eeschema]
|
||||
version=1
|
||||
LibDir=
|
||||
[eeschema/libraries]
|
||||
LibName1=power
|
||||
LibName2=device
|
||||
LibName3=transistors
|
||||
LibName4=conn
|
||||
LibName5=linear
|
||||
LibName6=regul
|
||||
LibName7=74xx
|
||||
LibName8=cmos4000
|
||||
LibName9=adc-dac
|
||||
LibName10=memory
|
||||
LibName11=xilinx
|
||||
LibName12=microcontrollers
|
||||
LibName13=dsp
|
||||
LibName14=microchip
|
||||
LibName15=analog_switches
|
||||
LibName16=motorola
|
||||
LibName17=texas
|
||||
LibName18=intel
|
||||
LibName19=audio
|
||||
LibName20=interface
|
||||
LibName21=digital-audio
|
||||
LibName22=philips
|
||||
LibName23=display
|
||||
LibName24=cypress
|
||||
LibName25=siliconi
|
||||
LibName26=opto
|
||||
LibName27=atmel
|
||||
LibName28=contrib
|
||||
LibName29=valves
|
||||
955
samples/JavaScript/constant_fold.mjs
Normal file
955
samples/JavaScript/constant_fold.mjs
Normal file
@@ -0,0 +1,955 @@
|
||||
// consumes <stdin> and performs constant folding
|
||||
// echo '"use strict";"_"[0],1+2;' | node constant_fold.js
|
||||
import _NodePath from '../NodePath';
|
||||
const {NodePath} = _NodePath;
|
||||
import _WalkCombinator from '../WalkCombinator';
|
||||
const {WalkCombinator} = _WalkCombinator;
|
||||
|
||||
const $CONSTEXPR = Symbol.for('$CONSTEXTR');
|
||||
const $CONSTVALUE = Symbol.for('$CONSTVALUE');
|
||||
const IS_EMPTY = path => {
|
||||
return (path.node.type === 'BlockStatement' && path.node.body.length === 0) ||
|
||||
path.node.type === 'EmptyStatement';
|
||||
};
|
||||
const IN_PRAGMA_POS = path => {
|
||||
if (path.parent && Array.isArray(path.parent.node)) {
|
||||
const siblings = path.parent.node;
|
||||
for (let i = 0; i < path.key; i++) {
|
||||
// preceded by non-pragma
|
||||
if (
|
||||
siblings[i].type !== 'ExpressionStatement' ||
|
||||
!IS_CONSTEXPR(siblings[i].expression) ||
|
||||
typeof CONSTVALUE(siblings[i].expression) !== 'string'
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
const IS_PRAGMA = path => {
|
||||
if (path.parent && Array.isArray(path.parent.node)) {
|
||||
const siblings = path.parent.node;
|
||||
for (let i = 0; i < path.key + 1; i++) {
|
||||
// preceded by non-pragma
|
||||
if (
|
||||
siblings[i].type !== 'ExpressionStatement' ||
|
||||
!IS_CONSTEXPR(siblings[i].expression) ||
|
||||
typeof CONSTVALUE(siblings[i].expression) !== 'string'
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
// worst case is the completion value
|
||||
const IS_NOT_COMPLETION = path => {
|
||||
while (true) {
|
||||
if (!path.parent) {
|
||||
return true;
|
||||
}
|
||||
if (
|
||||
Array.isArray(path.parent.node) &&
|
||||
path.key !== path.parent.node.length - 1
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
path = path.parent;
|
||||
while (Array.isArray(path.node)) {
|
||||
path = path.parent;
|
||||
}
|
||||
if (/Function/.test(path.node.type)) {
|
||||
return true;
|
||||
} else if (path.node.type === 'Program') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
const REMOVE_IF_EMPTY = path => {
|
||||
if (IS_EMPTY(path)) REMOVE(path);
|
||||
return null;
|
||||
};
|
||||
const REPLACE_IF_EMPTY = (path, folded) => {
|
||||
if (IS_EMPTY(path)) return REPLACE(path, folded);
|
||||
return path;
|
||||
};
|
||||
const REMOVE = path => {
|
||||
if (Array.isArray(path.parent.node)) {
|
||||
path.parent.node.splice(path.key, 1);
|
||||
} else {
|
||||
path.parent.node[path.key] = null;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
const REPLACE = (path, folded) => {
|
||||
const replacement = new NodePath(path.parent, folded, path.key);
|
||||
path.parent.node[path.key] = folded;
|
||||
return replacement;
|
||||
};
|
||||
// no mutation, this is an atomic value
|
||||
const NEG_ZERO = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'UnaryExpression',
|
||||
operator: '-',
|
||||
argument: Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'Literal',
|
||||
value: 0,
|
||||
}),
|
||||
});
|
||||
const INFINITY = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'BinaryExpression',
|
||||
operator: '/',
|
||||
left: Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'Literal',
|
||||
value: 1,
|
||||
}),
|
||||
right: Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'Literal',
|
||||
value: 0,
|
||||
}),
|
||||
});
|
||||
const NEG_INFINITY = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'BinaryExpression',
|
||||
operator: '/',
|
||||
left: Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'Literal',
|
||||
value: 1,
|
||||
}),
|
||||
right: NEG_ZERO,
|
||||
});
|
||||
const EMPTY = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'EmptyStatement',
|
||||
});
|
||||
const NULL = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'Literal',
|
||||
value: null,
|
||||
});
|
||||
const NAN = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'BinaryExpression',
|
||||
operator: '/',
|
||||
left: Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'Literal',
|
||||
value: 0,
|
||||
}),
|
||||
right: Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'Literal',
|
||||
value: 0,
|
||||
}),
|
||||
});
|
||||
const UNDEFINED = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'UnaryExpression',
|
||||
operator: 'void',
|
||||
argument: Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'Literal',
|
||||
value: 0,
|
||||
}),
|
||||
});
|
||||
// ESTree doesn't like negative numeric literals
|
||||
// this also preserves -0
|
||||
const IS_UNARY_NEGATIVE = node => {
|
||||
if (
|
||||
node.type === 'UnaryExpression' &&
|
||||
node.operator === '-' &&
|
||||
typeof node.argument.value === 'number' &&
|
||||
node.argument.value === node.argument.value &&
|
||||
node.argument.type === 'Literal'
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
const IS_CONSTEXPR = node => {
|
||||
if (typeof node !== 'object' || node === null) {
|
||||
return false;
|
||||
}
|
||||
// DONT CALCULATE THINGS MULTIPLE TIMES!!@!@#
|
||||
if (node[$CONSTEXPR]) return true;
|
||||
if (node.type === 'ArrayExpression') {
|
||||
for (let i = 0; i < node.elements.length; i++) {
|
||||
const element = node.elements[i];
|
||||
// hole == null
|
||||
if (element !== null && !IS_CONSTEXPR(element)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (node.type === 'ObjectExpression') {
|
||||
for (let i = 0; i < node.properties.length; i++) {
|
||||
const element = node.properties[i];
|
||||
if (element.kind !== 'init') return false;
|
||||
if (element.method) return false;
|
||||
let key;
|
||||
if (element.computed) {
|
||||
// be sure {["y"]:1} works
|
||||
if (!IS_CONSTEXPR(element.key)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!IS_CONSTEXPR(element.value)) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (node.type === 'Literal' || IS_UNDEFINED(node) || IS_NAN(node)) {
|
||||
return true;
|
||||
}
|
||||
if (IS_UNARY_NEGATIVE(node)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
const IS_NAN = node => {
|
||||
return node === NAN;
|
||||
};
|
||||
const IS_UNDEFINED = node => {
|
||||
return node === UNDEFINED;
|
||||
};
|
||||
const CONSTVALUE = node => {
|
||||
if (node[$CONSTVALUE]) {
|
||||
return node[$CONSTVALUE];
|
||||
}
|
||||
if (IS_UNDEFINED(node)) return void 0;
|
||||
if (IS_NAN(node)) return +'_';
|
||||
if (!IS_CONSTEXPR(node)) throw new Error('Not a CONSTEXPR');
|
||||
if (node.type === 'ArrayExpression') {
|
||||
let ret = [];
|
||||
ret.length = node.elements.length;
|
||||
for (let i = 0; i < node.elements.length; i++) {
|
||||
if (node.elements[i] !== null) {
|
||||
ret[i] = CONSTVALUE(node.elements[i]);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
if (node.type === 'ObjectExpression') {
|
||||
let ret = Object.create(null);
|
||||
for (let i = 0; i < node.properties.length; i++) {
|
||||
const element = node.properties[i];
|
||||
let key;
|
||||
if (element.computed) {
|
||||
key = `${CONSTVALUE(element.key)}`;
|
||||
}
|
||||
else {
|
||||
key = element.key.name;
|
||||
}
|
||||
Object.defineProperty(ret, key, {
|
||||
// duplicate keys...
|
||||
configurable: true,
|
||||
writable: true,
|
||||
value: CONSTVALUE(element.value),
|
||||
enumerable: true
|
||||
});
|
||||
}
|
||||
Object.freeze(ret);
|
||||
return ret;
|
||||
}
|
||||
if (IS_UNARY_NEGATIVE(node)) {
|
||||
return -node.argument.value;
|
||||
}
|
||||
if (node.regex !== void 0) {
|
||||
return new RegExp(node.regex.pattern, node.regex.flags);
|
||||
}
|
||||
return node.value;
|
||||
};
|
||||
const CONSTEXPRS = new Map();
|
||||
CONSTEXPRS.set(void 0, UNDEFINED);
|
||||
CONSTEXPRS.set(+'_', NAN);
|
||||
CONSTEXPRS.set(null, NULL);
|
||||
const TO_CONSTEXPR = value => {
|
||||
if (value === -Infinity) {
|
||||
return NEG_INFINITY;
|
||||
}
|
||||
if (value === Infinity) {
|
||||
return INFINITY;
|
||||
}
|
||||
let is_neg_zero = 1 / value === -Infinity;
|
||||
if (is_neg_zero) return NEG_ZERO;
|
||||
if (CONSTEXPRS.has(value)) {
|
||||
return CONSTEXPRS.get(value);
|
||||
}
|
||||
if (typeof value === 'number') {
|
||||
if (value < 0) {
|
||||
const CONSTEXPR = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
[$CONSTVALUE]: value,
|
||||
type: 'UnaryExpression',
|
||||
operator: '-',
|
||||
argument: Object.freeze({ type: 'Literal', value: -value }),
|
||||
});
|
||||
CONSTEXPRS.set(value, CONSTEXPR);
|
||||
return CONSTEXPR;
|
||||
}
|
||||
}
|
||||
if (
|
||||
value === null ||
|
||||
typeof value === 'number' ||
|
||||
typeof value === 'boolean' ||
|
||||
typeof value === 'string'
|
||||
) {
|
||||
const CONSTEXPR = Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
[$CONSTVALUE]: value,
|
||||
type: 'Literal',
|
||||
value,
|
||||
});
|
||||
CONSTEXPRS.set(value, CONSTEXPR);
|
||||
return CONSTEXPR;
|
||||
}
|
||||
// have to generate new one every time :-/
|
||||
if (Array.isArray(value)) {
|
||||
return Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'ArrayExpression',
|
||||
elements: Object.freeze(value.map(TO_CONSTEXPR)),
|
||||
});
|
||||
}
|
||||
if (typeof value === 'object' && Object.getPrototypeOf(value) === Object.getPrototypeOf({}) && [...Object.getOwnPropertySymbols(value)].length === 0) {
|
||||
return Object.freeze({
|
||||
[$CONSTEXPR]: true,
|
||||
type: 'ObjectExpression',
|
||||
properties: Object.freeze(
|
||||
[...Object.getOwnPropertyKeys(value)].map(key => {
|
||||
if (!('value' in Object.getOwnProperty(value, key))) {
|
||||
throw Error('Not a CONSTVALUE (found a setter or getter?)');
|
||||
}
|
||||
return {
|
||||
type: 'Property',
|
||||
kind: 'init',
|
||||
method: false,
|
||||
shorthand: false,
|
||||
computed: true,
|
||||
key: {
|
||||
type: 'Literal',
|
||||
value: key
|
||||
},
|
||||
value: TO_CONSTEXPR(value[key])
|
||||
}
|
||||
})),
|
||||
});
|
||||
}
|
||||
throw Error('Not a CONSTVALUE (did you pass a RegExp?)');
|
||||
};
|
||||
|
||||
// THIS DOES NOT HANDLE NODE SPECIFIC CASES LIKE IfStatement
|
||||
const FOLD_EMPTY = function*(path) {
|
||||
if (
|
||||
path &&
|
||||
path.node &&
|
||||
path.parent &&
|
||||
Array.isArray(path.parent.node) &&
|
||||
IS_EMPTY(path)
|
||||
) {
|
||||
REMOVE(path);
|
||||
return yield;
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
|
||||
// THIS DOES NOT HANDLE NODE SPECIFIC CASES LIKE IfStatement
|
||||
const FOLD_TEMPLATE = function*(path) {
|
||||
if (
|
||||
path &&
|
||||
path.node &&
|
||||
path.type === 'TemplateLiteral'
|
||||
) {
|
||||
let updated = false;
|
||||
for (let i = 0; i < path.node.exressions.length; i++) {
|
||||
if (IS_CONSTEXPR(path.node.expressions[i])) {
|
||||
//let
|
||||
}
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_EXPR_STMT = function*(path) {
|
||||
// TODO: enforce completion value checking
|
||||
if (path && path.node && path.node.type === 'ExpressionStatement') {
|
||||
// merge all the adjacent expression statements into sequences
|
||||
if (Array.isArray(path.parent.node)) {
|
||||
// could have nodes after it
|
||||
const siblings = path.parent.node;
|
||||
if (!IS_PRAGMA(path)) {
|
||||
if (path.key < siblings.length - 1) {
|
||||
const mergeable = [path.node];
|
||||
for (let needle = path.key + 1; needle < siblings.length; needle++) {
|
||||
if (siblings[needle].type !== 'ExpressionStatement') {
|
||||
break;
|
||||
}
|
||||
mergeable.push(siblings[needle]);
|
||||
}
|
||||
if (mergeable.length > 1) {
|
||||
siblings.splice(path.key, mergeable.length, {
|
||||
type: 'ExpressionStatement',
|
||||
expression: {
|
||||
type: 'SequenceExpression',
|
||||
expressions: mergeable.reduce(
|
||||
(acc, es) => {
|
||||
if (es.expression.type == 'SequenceExpression') {
|
||||
return [...acc, ...es.expression.expressions];
|
||||
} else {
|
||||
return [...acc, es.expression];
|
||||
}
|
||||
},
|
||||
[]
|
||||
),
|
||||
},
|
||||
});
|
||||
return path;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (IS_NOT_COMPLETION(path) && IS_CONSTEXPR(path.node.expression)) {
|
||||
return REPLACE(path, EMPTY);
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_WHILE = function*(path) {
|
||||
if (path && path.node) {
|
||||
if (path.node.type === 'DoWhileStatement') {
|
||||
console.error('FOLD_DOWHILE');
|
||||
REPLACE_IF_EMPTY(path.get(['body']), EMPTY);
|
||||
}
|
||||
if (path.node.type === 'WhileStatement') {
|
||||
console.error('FOLD_WHILE');
|
||||
let { test, consequent, alternate } = path.node;
|
||||
if (IS_CONSTEXPR(test)) {
|
||||
test = CONSTVALUE(test);
|
||||
if (!test) {
|
||||
return REPLACE(path, EMPTY);
|
||||
}
|
||||
}
|
||||
REPLACE_IF_EMPTY(path.get(['body']), EMPTY);
|
||||
}
|
||||
if (path.node.type === 'ForStatement') {
|
||||
console.error('FOLD_FOR');
|
||||
REPLACE_IF_EMPTY(path.get(['body']), EMPTY);
|
||||
let { init, test, update } = path.node;
|
||||
let updated = false;
|
||||
if (init && IS_CONSTEXPR(init)) {
|
||||
updated = true;
|
||||
REPLACE(path.get(['init']), null);
|
||||
}
|
||||
if (test && IS_CONSTEXPR(test)) {
|
||||
let current = CONSTVALUE(test);
|
||||
let coerced = Boolean(current);
|
||||
// remove the test if it is always true
|
||||
if (coerced === true) {
|
||||
updated = true;
|
||||
REPLACE(path.get(['test']), null);
|
||||
} else if (coerced !== current) {
|
||||
updated = true;
|
||||
REPLACE(path.get(['test']), TO_CONSTEXPR(coerced));
|
||||
}
|
||||
}
|
||||
if (update && IS_CONSTEXPR(update)) {
|
||||
updated = true;
|
||||
REPLACE(path.get(['update']), null);
|
||||
}
|
||||
if (updated) {
|
||||
return path;
|
||||
}
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_IF = function*(path) {
|
||||
if (path && path.node && path.node.type === 'IfStatement') {
|
||||
let { test, consequent, alternate } = path.node;
|
||||
const is_not_completion = IS_NOT_COMPLETION(path);
|
||||
if (is_not_completion && !alternate) {
|
||||
if (IS_EMPTY(path.get(['consequent']))) {
|
||||
console.error('FOLD_IF_EMPTY_CONSEQUENT');
|
||||
REPLACE(path, {
|
||||
type: 'ExpressionStatement',
|
||||
expression: test,
|
||||
});
|
||||
return path.parent;
|
||||
}
|
||||
}
|
||||
if (alternate) {
|
||||
if (alternate.type === consequent.type) {
|
||||
if (consequent.type === 'ExpressionStatement') {
|
||||
console.error('FOLD_IF_BOTH_EXPRSTMT');
|
||||
REPLACE(path, {
|
||||
type: 'ExpressionStatement', expression:
|
||||
{
|
||||
type: 'ConditionalExpression',
|
||||
test: test,
|
||||
consequent: consequent.expression,
|
||||
alternate: alternate.expression,
|
||||
}});
|
||||
return path.parent;
|
||||
}
|
||||
else if (consequent.type === 'ReturnStatement' ||
|
||||
consequent.type === 'ThrowStatement') {
|
||||
console.error('FOLD_IF_BOTH_COMPLETIONS');
|
||||
REPLACE(path, {
|
||||
type: 'ExpressionStatement', expression:{
|
||||
type: consequent.type,
|
||||
argument: {
|
||||
type: 'ConditionalExpression',
|
||||
test: test,
|
||||
consequent: consequent.argument,
|
||||
alternate: alternate.argument,
|
||||
}}
|
||||
});
|
||||
return path.parent;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (is_not_completion && consequent.type === 'ExpressionStatement') {
|
||||
console.error('FOLD_IF_NON_COMPLETION_TO_&&');
|
||||
REPLACE(path, {
|
||||
type: 'ExpressionStatement',
|
||||
expression: {
|
||||
type: 'BinaryExpression',
|
||||
operator: '&&',
|
||||
left: test,
|
||||
right: consequent.expression,
|
||||
}
|
||||
});
|
||||
return path.parent;
|
||||
}
|
||||
if (IS_CONSTEXPR(test)) {
|
||||
test = CONSTVALUE(test);
|
||||
if (test) {
|
||||
return REPLACE(path, consequent);
|
||||
}
|
||||
if (alternate) {
|
||||
return REPLACE(path, alternate);
|
||||
}
|
||||
return REPLACE(path, EMPTY);
|
||||
}
|
||||
consequent = path.get(['consequent']);
|
||||
let updated;
|
||||
if (consequent.node !== EMPTY) {
|
||||
REPLACE_IF_EMPTY(consequent, EMPTY);
|
||||
if (consequent.parent.node[consequent.key] === EMPTY) {
|
||||
updated = true;
|
||||
}
|
||||
}
|
||||
if (alternate) {
|
||||
alternate = path.get(['alternate']);
|
||||
REMOVE_IF_EMPTY(alternate);
|
||||
if (path.node.alternate === null) {
|
||||
updated = true;
|
||||
}
|
||||
}
|
||||
if (updated) {
|
||||
return path;
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_SEQUENCE = function*(path) {
|
||||
if (path && path.node && path.node.type === 'SequenceExpression') {
|
||||
console.error('FOLD_SEQUENCE');
|
||||
// never delete the last value
|
||||
for (let i = 0; i < path.node.expressions.length - 1; i++) {
|
||||
if (IS_CONSTEXPR(path.node.expressions[i])) {
|
||||
path.node.expressions.splice(i, 1);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
if (path.node.expressions.length === 1) {
|
||||
return REPLACE(path, path.node.expressions[0]);
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_LOGICAL = function*(path) {
|
||||
if (path && path.node && path.node.type === 'LogicalExpression') {
|
||||
console.error('FOLD_LOGICAL');
|
||||
let { left, right, operator } = path.node;
|
||||
if (IS_CONSTEXPR(left)) {
|
||||
left = CONSTVALUE(left);
|
||||
if (operator === '||') {
|
||||
if (left) {
|
||||
return REPLACE(path, TO_CONSTEXPR(left));
|
||||
}
|
||||
return REPLACE(path, right);
|
||||
} else if (operator === '&&') {
|
||||
if (!left) {
|
||||
return REPLACE(path, TO_CONSTEXPR(left));
|
||||
}
|
||||
return REPLACE(path, right);
|
||||
}
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_SWITCH = function*(path) {
|
||||
if (path && path.node && path.node.type === 'SwitchStatement') {
|
||||
let { discriminant, cases } = path.node;
|
||||
// if there are no cases, just become an expression
|
||||
if (cases.length === 0 && IS_NOT_COMPLETION(path)) {
|
||||
return REPLACE(path, {
|
||||
type: 'ExpressionStatement',
|
||||
expression: discriminant
|
||||
});
|
||||
}
|
||||
// if the discriminant is static
|
||||
// remove any preceding non-matching static cases
|
||||
// fold any trailing cases into the matching case
|
||||
if (cases.length > 1 && IS_CONSTEXPR(discriminant)) {
|
||||
const discriminant_value = CONSTVALUE(discriminant);
|
||||
for (var i = 0; i < cases.length; i++) {
|
||||
const test = cases[i].test;
|
||||
if (IS_CONSTEXPR(test)) {
|
||||
let test_value = CONSTVALUE(test);
|
||||
if (discriminant_value === test_value) {
|
||||
let new_consequent = cases[i].consequent;
|
||||
if (i < cases.length - 1) {
|
||||
for (let fallthrough of cases.slice(i+1)) {
|
||||
new_consequent.push(...fallthrough.consequent);
|
||||
}
|
||||
}
|
||||
cases[i].consequent = new_consequent;
|
||||
REPLACE(path.get(['cases']), [cases[i]]);
|
||||
return path;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// we had a dynamic case need to bail
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_UNREACHABLE = function*(path) {
|
||||
if (path && path.node && path.parent && Array.isArray(path.parent.node)) {
|
||||
if (path.node.type === 'ReturnStatement' ||
|
||||
path.node.type === 'ContinueStatement' ||
|
||||
path.node.type === 'BreakStatement' ||
|
||||
path.node.type === 'ThrowStatement') {
|
||||
const next_key = path.key + 1;
|
||||
path.parent.node.splice(next_key, path.parent.node.length - next_key);
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
}
|
||||
const FOLD_CONDITIONAL = function*(path) {
|
||||
if (path && path.node && path.node.type === 'ConditionalExpression') {
|
||||
console.error('FOLD_CONDITIONAL');
|
||||
let { test, consequent, alternate } = path.node;
|
||||
if (IS_CONSTEXPR(test)) {
|
||||
test = CONSTVALUE(test);
|
||||
if (test) {
|
||||
return REPLACE(path, consequent);
|
||||
}
|
||||
return REPLACE(path, alternate);
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_BINARY = function*(path) {
|
||||
if (
|
||||
path &&
|
||||
path.node &&
|
||||
path.node.type === 'BinaryExpression' &&
|
||||
!IS_NAN(path.node)
|
||||
) {
|
||||
console.error('FOLD_BINARY');
|
||||
let { left, right, operator } = path.node;
|
||||
if (operator === '==' || operator === '!=') {
|
||||
let updated = false;
|
||||
if (IS_UNDEFINED(left)) {
|
||||
updated = true;
|
||||
REPLACE(path.get(['left']), NULL);
|
||||
}
|
||||
if (IS_UNDEFINED(right)) {
|
||||
updated = true;
|
||||
REPLACE(path.get(['right']), NULL);
|
||||
}
|
||||
if (updated) {
|
||||
return path;
|
||||
}
|
||||
}
|
||||
if (path.node !== INFINITY && path.node !== NEG_INFINITY && IS_CONSTEXPR(left) && IS_CONSTEXPR(right)) {
|
||||
left = CONSTVALUE(left);
|
||||
right = CONSTVALUE(right);
|
||||
let value;
|
||||
if ((!left || typeof left !== 'object') && (!right || typeof right !== 'object')) {
|
||||
if (operator === '+') {
|
||||
value = left + right;
|
||||
} else if (operator === '-') {
|
||||
value = left - right;
|
||||
} else if (operator === '*') {
|
||||
value = left * right;
|
||||
} else if (operator === '/') {
|
||||
value = left / right;
|
||||
} else if (operator === '%') {
|
||||
value = left % right;
|
||||
} else if (operator === '==') {
|
||||
value = left == right;
|
||||
} else if (operator === '!=') {
|
||||
value = left != right;
|
||||
} else if (operator === '===') {
|
||||
value = left === right;
|
||||
} else if (operator === '!==') {
|
||||
value = left !== right;
|
||||
} else if (operator === '<') {
|
||||
value = left < right;
|
||||
} else if (operator === '<=') {
|
||||
value = left <= right;
|
||||
} else if (operator === '>') {
|
||||
value = left > right;
|
||||
} else if (operator === '>=') {
|
||||
value = left >= right;
|
||||
} else if (operator === '<<') {
|
||||
value = left << right;
|
||||
} else if (operator === '>>') {
|
||||
value = left >> right;
|
||||
} else if (operator === '>>>') {
|
||||
value = left >>> right;
|
||||
} else if (operator === '|') {
|
||||
value = left | right;
|
||||
} else if (operator === '&') {
|
||||
value = left & right;
|
||||
} else if (operator === '^') {
|
||||
value = left ^ right;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (operator === '==') value = false;
|
||||
if (operator === '===') value = false;
|
||||
if (operator === '!=') value = true;
|
||||
if (operator === '!==') value = true;
|
||||
if (operator === 'in' && typeof right === 'object' && right) {
|
||||
value = Boolean(Object.getOwnPropertyDescriptor(right, left));
|
||||
}
|
||||
}
|
||||
if (value !== void 0) {
|
||||
if (typeof value === 'string' || typeof value === 'boolean' || value === null) {
|
||||
return REPLACE(path, TO_CONSTEXPR(value));
|
||||
}
|
||||
if (typeof value === 'number') {
|
||||
return REPLACE(path, TO_CONSTEXPR(value));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_UNARY = function*(path) {
|
||||
if (path && path.node && path.node.type === 'UnaryExpression') {
|
||||
console.error('FOLD_UNARY');
|
||||
if (IS_CONSTEXPR(path.node)) {
|
||||
return yield path;
|
||||
}
|
||||
let { argument, operator } = path.node;
|
||||
if (IS_CONSTEXPR(argument)) {
|
||||
if (operator === 'void') {
|
||||
return REPLACE(path, UNDEFINED);
|
||||
}
|
||||
let value = CONSTVALUE(argument);
|
||||
if (operator === '-') {
|
||||
value = -value;
|
||||
} else if (operator === '+') {
|
||||
value = +value;
|
||||
} else if (operator === '~') {
|
||||
value = ~value;
|
||||
} else if (operator === '!') {
|
||||
value = !value;
|
||||
} else if (operator === 'typeof') {
|
||||
value = typeof value;
|
||||
} else if (operator === 'delete') {
|
||||
value = true;
|
||||
}
|
||||
return REPLACE(path, TO_CONSTEXPR(value));
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
const FOLD_EVAL = function*(path) {
|
||||
if (path && path.node && path.node.type === 'CallExpression' &&
|
||||
path.node.callee.type === 'Identifier' && path.node.callee.name === 'eval') {
|
||||
console.error('FOLD_EVAL');
|
||||
if (path.node.arguments.length === 1 && path.node.arguments[0].type === 'Literal') {
|
||||
let result = esprima.parse(`${
|
||||
CONSTVALUE(path.node.arguments[0])
|
||||
}`);
|
||||
if (result.body.length === 1 && result.body[0].type === 'ExpressionStatement') {
|
||||
return REPLACE(path, result.body[0].expression);
|
||||
}
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
}
|
||||
const FOLD_MEMBER = function*(path) {
|
||||
if (path && path.node && path.node.type === 'MemberExpression') {
|
||||
console.error('FOLD_MEMBER');
|
||||
if (path.node.computed && path.node.property.type === 'Literal') {
|
||||
const current = `${CONSTVALUE(path.node.property)}`;
|
||||
if (typeof current === 'string' && /^[$_a-z][$_a-z\d]*$/i.test(current)) {
|
||||
path.node.computed = false;
|
||||
path.node.property = {
|
||||
type: 'Identifier',
|
||||
name: current,
|
||||
};
|
||||
return path;
|
||||
}
|
||||
}
|
||||
if (IS_CONSTEXPR(path.node.object)) {
|
||||
const value = CONSTVALUE(path.node.object);
|
||||
if (typeof value === 'string' || Array.isArray(value) || (value && typeof value === 'object')) {
|
||||
let key;
|
||||
if (IS_CONSTEXPR(path.node.property)) {
|
||||
key = `${CONSTVALUE(path.node.property)}`;
|
||||
}
|
||||
else if (!path.node.computed) {
|
||||
key = path.node.property.name;
|
||||
}
|
||||
if (key !== void 0) {
|
||||
const desc = Object.getOwnPropertyDescriptor(value, key);
|
||||
if (desc) {
|
||||
const folded = value[key];
|
||||
console.error('FOLDING', JSON.stringify(folded));
|
||||
if (IN_PRAGMA_POS(path) && typeof folded === 'string') {
|
||||
if (value.length > 1) {
|
||||
REPLACE(
|
||||
path.get(['object']),
|
||||
TO_CONSTEXPR(value.slice(key, key + 1))
|
||||
);
|
||||
REPLACE(path.get(['property']), TO_CONSTEXPR(0));
|
||||
return path;
|
||||
}
|
||||
} else {
|
||||
return REPLACE(path, TO_CONSTEXPR(value[key]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
};
|
||||
|
||||
const $MIN = Symbol();
|
||||
const MIN_TRUE = Object.freeze({
|
||||
[$MIN]: true,
|
||||
type: 'UnaryExpression',
|
||||
operator: '!',
|
||||
argument: Object.freeze({
|
||||
[$MIN]: true,
|
||||
type: 'Literal',
|
||||
value: 0
|
||||
})
|
||||
});
|
||||
const MIN_FALSE = Object.freeze({
|
||||
[$MIN]: true,
|
||||
type: 'UnaryExpression',
|
||||
operator: '!',
|
||||
argument: Object.freeze({
|
||||
[$MIN]: true,
|
||||
type: 'Literal',
|
||||
value: 1
|
||||
})
|
||||
});
|
||||
const MIN_REPLACEMENTS = new Map;
|
||||
MIN_REPLACEMENTS.set(true, MIN_TRUE);
|
||||
MIN_REPLACEMENTS.set(false, MIN_FALSE);
|
||||
const MIN_VALUES = function*(path) {
|
||||
if (path && path.node && !path.node[$MIN] && IS_CONSTEXPR(path.node)) {
|
||||
let value = CONSTVALUE(path.node);
|
||||
if (MIN_REPLACEMENTS.has(value)) {
|
||||
console.error('MIN_VALUE', value)
|
||||
return REPLACE(path, MIN_REPLACEMENTS.get(value));
|
||||
}
|
||||
}
|
||||
return yield path;
|
||||
}
|
||||
|
||||
import esprima from 'esprima';
|
||||
import util from 'util';
|
||||
import escodegen from 'escodegen';
|
||||
const optimize = (src) => {
|
||||
const ROOT = new NodePath(
|
||||
null,
|
||||
esprima.parse(
|
||||
src,
|
||||
{
|
||||
// loc: true,
|
||||
// source: '<stdin>',
|
||||
}
|
||||
),
|
||||
null
|
||||
);
|
||||
// all of these are things that could affect completion value positions
|
||||
const walk_expressions = WalkCombinator.pipe(
|
||||
...[
|
||||
WalkCombinator.DEPTH_FIRST,
|
||||
{
|
||||
// We never work on Arrays
|
||||
*inputs(path) {
|
||||
if (Array.isArray(path)) return;
|
||||
return yield path;
|
||||
},
|
||||
},
|
||||
{ inputs: FOLD_UNREACHABLE },
|
||||
{ inputs: FOLD_IF },
|
||||
{ inputs: FOLD_SWITCH },
|
||||
{ inputs: FOLD_EXPR_STMT },
|
||||
{ inputs: FOLD_CONDITIONAL },
|
||||
{ inputs: FOLD_LOGICAL },
|
||||
{ inputs: FOLD_BINARY },
|
||||
{ inputs: FOLD_UNARY },
|
||||
{ inputs: FOLD_SEQUENCE },
|
||||
{ inputs: FOLD_MEMBER },
|
||||
{ inputs: FOLD_EMPTY },
|
||||
{ inputs: FOLD_WHILE },
|
||||
{ inputs: FOLD_EVAL },
|
||||
]
|
||||
).walk(ROOT);
|
||||
for (const _ of walk_expressions) {
|
||||
}
|
||||
const minify = WalkCombinator.pipe(
|
||||
...[
|
||||
WalkCombinator.DEPTH_FIRST,
|
||||
{
|
||||
// We never work on Arrays
|
||||
*inputs(path) {
|
||||
if (Array.isArray(path)) return;
|
||||
return yield path;
|
||||
},
|
||||
},
|
||||
{ inputs: MIN_VALUES },
|
||||
]
|
||||
).walk(ROOT);
|
||||
for (const _ of minify) {
|
||||
}
|
||||
return ROOT;
|
||||
}
|
||||
import mississippi from 'mississippi';
|
||||
process.stdin.pipe(
|
||||
mississippi.concat(buff => {
|
||||
const ROOT = optimize(`${buff}`)
|
||||
console.error(
|
||||
'%s',
|
||||
util.inspect(ROOT.node, {
|
||||
depth: null,
|
||||
colors: true,
|
||||
})
|
||||
);
|
||||
const out = escodegen.generate(ROOT.node);
|
||||
console.log(out);
|
||||
})
|
||||
);
|
||||
6
samples/JavaScript/entry.mjs
Normal file
6
samples/JavaScript/entry.mjs
Normal file
@@ -0,0 +1,6 @@
|
||||
import bar from './module.mjs';
|
||||
function foo() {
|
||||
return "I am foo";
|
||||
}
|
||||
export {foo};
|
||||
console.log(bar);
|
||||
5
samples/JavaScript/module.mjs
Normal file
5
samples/JavaScript/module.mjs
Normal file
@@ -0,0 +1,5 @@
|
||||
import {foo} from './entry.mjs';
|
||||
console.log(foo());
|
||||
|
||||
const bar = "I am bar.";
|
||||
export {bar as default};
|
||||
23
samples/KiCad Layout/C_Disc_D3_P2.5.kicad_mod
Normal file
23
samples/KiCad Layout/C_Disc_D3_P2.5.kicad_mod
Normal file
@@ -0,0 +1,23 @@
|
||||
(module footprints:C_Disc_D3_P2.5 (layer F.Cu) (tedit 0)
|
||||
(descr "Capacitor 3mm Disc, Pitch 2.5mm")
|
||||
(tags Capacitor)
|
||||
(fp_text reference C1 (at 1.25 -2.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value C_100nF (at 1.25 2.5) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -0.9 -1.5) (end 3.4 -1.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 3.4 -1.5) (end 3.4 1.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 3.4 1.5) (end -0.9 1.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -0.9 1.5) (end -0.9 -1.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -0.25 -1.25) (end 2.75 -1.25) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 2.75 1.25) (end -0.25 1.25) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at 0 0) (size 1.3 1.3) (drill 0.8) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole circle (at 2.5 0) (size 1.3 1.3) (drill 0.8001) (layers *.Cu *.Mask F.SilkS))
|
||||
(model Capacitors_ThroughHole.3dshapes/C_Disc_D3_P2.5.wrl
|
||||
(at (xyz 0.0492126 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
344
samples/KiCad Layout/Conn_Poncho_SinBorde.kicad_mod
Normal file
344
samples/KiCad Layout/Conn_Poncho_SinBorde.kicad_mod
Normal file
@@ -0,0 +1,344 @@
|
||||
(module Conn_Poncho_SinBorde (layer F.Cu) (tedit 560F0DC0)
|
||||
(tags "CONN Poncho")
|
||||
(fp_text reference XA? (at -0.254 -3.175) (layer F.SilkS)
|
||||
(effects (font (size 0.8 0.8) (thickness 0.12)))
|
||||
)
|
||||
(fp_text value Conn_Poncho_SinBorde (at -1.905 51.181) (layer F.SilkS) hide
|
||||
(effects (font (size 1.016 1.016) (thickness 0.2032)))
|
||||
)
|
||||
(fp_text user GPIO8 (at -64.516 48.26) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GPIO7 (at -64.516 45.72) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GPIO5 (at -64.516 43.18) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GPIO3 (at -64.516 40.64) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GPIO1 (at -64.516 38.1) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user LCD1 (at -65.024 35.56) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user LCD2 (at -65.024 33.02) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user LCD3 (at -65.024 30.48) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user LCD_RS (at -64.008 27.94) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user LCD4 (at -65.024 25.4) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user SPI_SCK (at -63.754 22.86) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user SPI_MISO (at -63.5 20.32) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user TXD1 (at -65.024 17.78) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user TXD0 (at -65.024 15.24) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user MDIO (at -65.024 12.7) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user CRS_DV (at -64.008 10.16) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user MDC (at -65.278 7.62) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user TX_EN (at -64.77 5.08) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user RXD1 (at -65.024 2.54) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user +5V (at -65.532 0) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 48.006) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 45.72) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GPIO6 (at -74.93 43.18) (layer F.SilkS)
|
||||
(effects (font (size 1 0.9) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GPIO4 (at -74.93 40.64) (layer F.SilkS)
|
||||
(effects (font (size 1 0.9) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GPIO2 (at -74.93 38.1) (layer F.SilkS)
|
||||
(effects (font (size 1 0.9) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GPIO0 (at -74.93 35.56) (layer F.SilkS)
|
||||
(effects (font (size 1 0.9) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 33.02) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 30.48) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user LCD_EN (at -74.676 27.686) (layer F.SilkS)
|
||||
(effects (font (size 1 0.7) (thickness 0.17)))
|
||||
)
|
||||
(fp_text user SPI_MOSI (at -74.93 25.146) (layer F.SilkS)
|
||||
(effects (font (size 1 0.7) (thickness 0.17)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 22.86) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 20.32) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user REF_CLK (at -74.93 17.78) (layer F.SilkS)
|
||||
(effects (font (size 0.9 0.7) (thickness 0.175)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 15.24) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 12.7) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 7.62) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user RXD0 (at -74.676 10.16) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 5.08) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at -74.168 2.54) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user +3.3V (at -74.93 0) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 48.26) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 45.72) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user T_F1 (at 5.588 43.18) (layer F.SilkS)
|
||||
(effects (font (size 0.9 0.9) (thickness 0.18)))
|
||||
)
|
||||
(fp_text user T_C2 (at 5.588 40.64) (layer F.SilkS)
|
||||
(effects (font (size 0.9 0.9) (thickness 0.18)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 38.1) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at 5.334 35.56) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 33.02) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 30.48) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 27.94) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 25.4) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 22.86) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GNDA (at 5.588 20.32) (layer F.SilkS)
|
||||
(effects (font (size 0.76 0.76) (thickness 0.19)))
|
||||
)
|
||||
(fp_text user GNDA (at 5.588 17.78) (layer F.SilkS)
|
||||
(effects (font (size 0.76 0.76) (thickness 0.19)))
|
||||
)
|
||||
(fp_text user GNDA (at 5.588 15.24) (layer F.SilkS)
|
||||
(effects (font (size 0.76 0.76) (thickness 0.19)))
|
||||
)
|
||||
(fp_text user GNDA (at 5.588 12.7) (layer F.SilkS)
|
||||
(effects (font (size 0.76 0.76) (thickness 0.19)))
|
||||
)
|
||||
(fp_text user GNDA (at 5.588 10.16) (layer F.SilkS)
|
||||
(effects (font (size 0.76 0.76) (thickness 0.19)))
|
||||
)
|
||||
(fp_text user GNDA (at 5.588 7.62) (layer F.SilkS)
|
||||
(effects (font (size 0.76 0.76) (thickness 0.19)))
|
||||
)
|
||||
(fp_text user WAKEUP (at 5.588 5.334) (layer F.SilkS)
|
||||
(effects (font (size 1 0.5) (thickness 0.125)))
|
||||
)
|
||||
(fp_text user GND (at 5.588 3.048) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user +5V (at 5.588 0) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user T_COL0 (at -4.064 48.26) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user T_FIL2 (at -3.81 45.72) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user T_FIL3 (at -3.81 43.18) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user T_FIL0 (at -3.81 40.64) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user T_COL1 (at -4.064 38.1) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user CAN_TD (at -4.318 35.56) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user CAN_RD (at -4.318 33.02) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user 232_TX (at -4.318 30.48) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user 232_RX (at -4.318 27.94) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user I2C_SCL (at -4.572 25.4) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user I2C_SDA (at -4.572 22.86) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user VDDA (at -3.302 20.32) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user DAC (at -3.048 17.78) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user CH1 (at -3.048 15.24) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user CH2 (at -3.048 12.7) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user CH3 (at -3.048 10.16) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user GNDA (at -3.556 7.62) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user ISP (at -2.794 5.08) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user RESET (at -3.81 2.54) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_text user CIAA-P2 (at -69.85 -2.032) (layer F.SilkS)
|
||||
(effects (font (size 0.8 0.8) (thickness 0.12)))
|
||||
)
|
||||
(fp_text user CIAA-P1 (at 1.27 -2.032) (layer F.SilkS)
|
||||
(effects (font (size 0.8 0.8) (thickness 0.12)))
|
||||
)
|
||||
(fp_text user +3.3V (at -3.81 0) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.2)))
|
||||
)
|
||||
(fp_line (start -72.39 0) (end -72.39 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -72.39 -1.27) (end -67.31 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -67.31 -1.27) (end -67.31 49.53) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -67.31 49.53) (end -72.39 49.53) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -72.39 49.53) (end -72.39 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.27 49.53) (end -1.27 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 49.53) (end 3.81 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 49.53) (end -1.27 49.53) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 -1.27) (end -1.27 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at 0 0 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole oval (at 2.54 0 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 11 thru_hole oval (at 0 12.7 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole oval (at 2.54 2.54 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 13 thru_hole oval (at 0 15.24 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 6 thru_hole oval (at 2.54 5.08 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 15 thru_hole oval (at 0 17.78 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 8 thru_hole oval (at 2.54 7.62 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 17 thru_hole oval (at 0 20.32 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 10 thru_hole oval (at 2.54 10.16 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 19 thru_hole oval (at 0 22.86 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 12 thru_hole oval (at 2.54 12.7 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 21 thru_hole oval (at 0 25.4 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 14 thru_hole oval (at 2.54 15.24 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 23 thru_hole oval (at 0 27.94 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 16 thru_hole oval (at 2.54 17.78 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 25 thru_hole oval (at 0 30.48 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 18 thru_hole oval (at 2.54 20.32 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 27 thru_hole oval (at 0 33.02 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 20 thru_hole oval (at 2.54 22.86 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 29 thru_hole oval (at 0 35.56 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 22 thru_hole oval (at 2.54 25.4 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 31 thru_hole oval (at 0 38.1 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 24 thru_hole oval (at 2.54 27.94 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 26 thru_hole oval (at 2.54 30.48 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 33 thru_hole oval (at 0 40.64 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 28 thru_hole oval (at 2.54 33.02 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 32 thru_hole oval (at 2.54 38.1 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 34 thru_hole oval (at 2.54 40.64 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 36 thru_hole oval (at 2.54 43.18 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 38 thru_hole oval (at 2.54 45.72 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 35 thru_hole oval (at 0 43.18 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 37 thru_hole oval (at 0 45.72 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole oval (at 0 2.54 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 5 thru_hole oval (at 0 5.08 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 7 thru_hole oval (at 0 7.62 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 9 thru_hole oval (at 0 10.16 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 39 thru_hole oval (at 0 48.26 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 40 thru_hole oval (at 2.54 48.26 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 30 thru_hole oval (at 2.54 35.56 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 41 thru_hole rect (at -71.12 0 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 42 thru_hole oval (at -68.58 0 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 43 thru_hole oval (at -71.12 2.54 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 44 thru_hole oval (at -68.58 2.54 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 45 thru_hole oval (at -71.12 5.08 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 46 thru_hole oval (at -68.58 5.08 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 47 thru_hole oval (at -71.12 7.62 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 48 thru_hole oval (at -68.58 7.62 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 49 thru_hole oval (at -71.12 10.16 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 50 thru_hole oval (at -68.58 10.16 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 51 thru_hole oval (at -71.12 12.7 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 52 thru_hole oval (at -68.58 12.7 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 53 thru_hole oval (at -71.12 15.24 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 54 thru_hole oval (at -68.58 15.24 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 55 thru_hole oval (at -71.12 17.78 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 56 thru_hole oval (at -68.58 17.78 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 57 thru_hole oval (at -71.12 20.32 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 58 thru_hole oval (at -68.58 20.32 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 59 thru_hole oval (at -71.12 22.86 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 60 thru_hole oval (at -68.58 22.86 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 61 thru_hole oval (at -71.12 25.4 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 62 thru_hole oval (at -68.58 25.4 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 63 thru_hole oval (at -71.12 27.94 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 64 thru_hole oval (at -68.58 27.94 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 65 thru_hole oval (at -71.12 30.48 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 66 thru_hole oval (at -68.58 30.48 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 67 thru_hole oval (at -71.12 33.02 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 68 thru_hole oval (at -68.58 33.02 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 69 thru_hole oval (at -71.12 35.56 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 70 thru_hole oval (at -68.58 35.56 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 71 thru_hole oval (at -71.12 38.1 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 72 thru_hole oval (at -68.58 38.1 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 73 thru_hole oval (at -71.12 40.64 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 74 thru_hole oval (at -68.58 40.64 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 75 thru_hole oval (at -71.12 43.18 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 76 thru_hole oval (at -68.58 43.18 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 77 thru_hole oval (at -71.12 45.72 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 78 thru_hole oval (at -68.58 45.72 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 79 thru_hole oval (at -71.12 48.26 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 80 thru_hole oval (at -68.58 48.26 270) (size 1.524 2) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
11
samples/KiCad Layout/Fiducial_1mm.kicad_mod
Normal file
11
samples/KiCad Layout/Fiducial_1mm.kicad_mod
Normal file
@@ -0,0 +1,11 @@
|
||||
(module footprints:Fiducial_1mm (layer F.Cu) (tedit 573E1507)
|
||||
(clearance 1.524)
|
||||
(fp_text reference F3 (at 0.02 -0.9) (layer F.SilkS) hide
|
||||
(effects (font (size 0.7112 0.4572) (thickness 0.1143)))
|
||||
)
|
||||
(fp_text value FIDUCIAL (at 0 0.99) (layer F.SilkS) hide
|
||||
(effects (font (size 0.254 0.254) (thickness 0.00254)))
|
||||
)
|
||||
(pad 1 smd circle (at 0 0) (size 1 1) (layers F.Cu F.Mask)
|
||||
(solder_mask_margin 1.5))
|
||||
)
|
||||
25
samples/KiCad Layout/LED-5MM.kicad_mod
Normal file
25
samples/KiCad Layout/LED-5MM.kicad_mod
Normal file
@@ -0,0 +1,25 @@
|
||||
(module footprints:LED-5MM (layer F.Cu) (tedit 5570F7EA)
|
||||
(descr "LED 5mm round vertical")
|
||||
(tags "LED 5mm round vertical")
|
||||
(fp_text reference D4 (at 1.524 4.064) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value LED (at 1.524 -3.937) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.5 -1.55) (end -1.5 1.55) (layer F.CrtYd) (width 0.05))
|
||||
(fp_arc (start 1.3 0) (end -1.5 1.55) (angle -302) (layer F.CrtYd) (width 0.05))
|
||||
(fp_arc (start 1.27 0) (end -1.23 -1.5) (angle 297.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.23 1.5) (end -1.23 -1.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 1.27 0) (end 0.97 -2.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user K (at -1.905 1.905) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(pad 1 thru_hole rect (at 0 0 90) (size 2 1.9) (drill 1.00076) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole circle (at 2.54 0) (size 1.9 1.9) (drill 1.00076) (layers *.Cu *.Mask F.SilkS))
|
||||
(model LEDs.3dshapes/LED-5MM.wrl
|
||||
(at (xyz 0.05 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 90))
|
||||
)
|
||||
)
|
||||
78
samples/KiCad Layout/Logo_OSHWA.kicad_mod
Normal file
78
samples/KiCad Layout/Logo_OSHWA.kicad_mod
Normal file
@@ -0,0 +1,78 @@
|
||||
(module footprints:Logo_OSHWA (layer F.Cu) (tedit 560D8B85)
|
||||
(fp_text reference G101 (at 0 4.2418) (layer F.SilkS) hide
|
||||
(effects (font (size 0.7112 0.4572) (thickness 0.1143)))
|
||||
)
|
||||
(fp_text value Logo_OSHWA (at 0 -4.2418) (layer F.SilkS) hide
|
||||
(effects (font (size 0.36322 0.36322) (thickness 0.07112)))
|
||||
)
|
||||
(fp_poly (pts (xy -2.42316 3.59156) (xy -2.38252 3.57124) (xy -2.28854 3.51282) (xy -2.15392 3.42392)
|
||||
(xy -1.99644 3.31978) (xy -1.83896 3.21056) (xy -1.70942 3.1242) (xy -1.61798 3.06578)
|
||||
(xy -1.57988 3.04546) (xy -1.55956 3.05054) (xy -1.48336 3.08864) (xy -1.37414 3.14452)
|
||||
(xy -1.31064 3.17754) (xy -1.21158 3.22072) (xy -1.16078 3.23088) (xy -1.15316 3.21564)
|
||||
(xy -1.11506 3.13944) (xy -1.05918 3.00736) (xy -0.98298 2.83464) (xy -0.89662 2.63144)
|
||||
(xy -0.80264 2.413) (xy -0.7112 2.18948) (xy -0.6223 1.97612) (xy -0.54356 1.78562)
|
||||
(xy -0.48006 1.63068) (xy -0.43942 1.52146) (xy -0.42418 1.47574) (xy -0.42926 1.46558)
|
||||
(xy -0.48006 1.41732) (xy -0.56642 1.35128) (xy -0.75692 1.19634) (xy -0.94234 0.96266)
|
||||
(xy -1.05664 0.6985) (xy -1.09474 0.40386) (xy -1.06172 0.13208) (xy -0.95504 -0.12954)
|
||||
(xy -0.77216 -0.36576) (xy -0.55118 -0.54102) (xy -0.2921 -0.65278) (xy 0 -0.68834)
|
||||
(xy 0.2794 -0.65786) (xy 0.5461 -0.55118) (xy 0.78232 -0.37084) (xy 0.88138 -0.25654)
|
||||
(xy 1.01854 -0.01778) (xy 1.09728 0.23876) (xy 1.1049 0.30226) (xy 1.09474 0.5842)
|
||||
(xy 1.01092 0.85344) (xy 0.8636 1.09474) (xy 0.65786 1.29032) (xy 0.62992 1.31064)
|
||||
(xy 0.53594 1.38176) (xy 0.47244 1.43002) (xy 0.42164 1.47066) (xy 0.77978 2.33172)
|
||||
(xy 0.83566 2.46888) (xy 0.93472 2.7051) (xy 1.02108 2.9083) (xy 1.08966 3.06832)
|
||||
(xy 1.13792 3.17754) (xy 1.15824 3.22072) (xy 1.16078 3.22326) (xy 1.19126 3.22834)
|
||||
(xy 1.2573 3.20294) (xy 1.37668 3.14452) (xy 1.45796 3.10388) (xy 1.5494 3.0607)
|
||||
(xy 1.59004 3.04546) (xy 1.6256 3.06324) (xy 1.71196 3.12166) (xy 1.8415 3.20548)
|
||||
(xy 1.9939 3.30962) (xy 2.14122 3.41122) (xy 2.27584 3.50012) (xy 2.3749 3.56108)
|
||||
(xy 2.42316 3.58902) (xy 2.43078 3.58902) (xy 2.47142 3.56362) (xy 2.55016 3.50012)
|
||||
(xy 2.667 3.38836) (xy 2.8321 3.2258) (xy 2.8575 3.2004) (xy 2.99466 3.0607)
|
||||
(xy 3.10642 2.94386) (xy 3.18008 2.86258) (xy 3.20548 2.82448) (xy 3.20548 2.82448)
|
||||
(xy 3.18262 2.77622) (xy 3.11912 2.6797) (xy 3.03022 2.54254) (xy 2.921 2.38252)
|
||||
(xy 2.63652 1.9685) (xy 2.794 1.57734) (xy 2.84226 1.45796) (xy 2.90322 1.31318)
|
||||
(xy 2.9464 1.20904) (xy 2.9718 1.16332) (xy 3.01244 1.14808) (xy 3.12166 1.12268)
|
||||
(xy 3.2766 1.08966) (xy 3.45948 1.05664) (xy 3.63728 1.02362) (xy 3.7973 0.99314)
|
||||
(xy 3.9116 0.97028) (xy 3.9624 0.96012) (xy 3.9751 0.9525) (xy 3.98526 0.9271)
|
||||
(xy 3.99288 0.87376) (xy 3.99542 0.77724) (xy 3.99796 0.62484) (xy 3.99796 0.40386)
|
||||
(xy 3.99796 0.381) (xy 3.99542 0.17018) (xy 3.99288 0.00254) (xy 3.9878 -0.10668)
|
||||
(xy 3.98018 -0.14986) (xy 3.98018 -0.14986) (xy 3.92938 -0.16256) (xy 3.81762 -0.18542)
|
||||
(xy 3.6576 -0.21844) (xy 3.4671 -0.254) (xy 3.45694 -0.25654) (xy 3.26644 -0.2921)
|
||||
(xy 3.10896 -0.32512) (xy 2.9972 -0.35052) (xy 2.95148 -0.36576) (xy 2.94132 -0.37846)
|
||||
(xy 2.90322 -0.45212) (xy 2.84734 -0.56896) (xy 2.78638 -0.71374) (xy 2.72288 -0.86106)
|
||||
(xy 2.66954 -0.99568) (xy 2.63398 -1.09474) (xy 2.62382 -1.14046) (xy 2.62382 -1.14046)
|
||||
(xy 2.65176 -1.18618) (xy 2.7178 -1.28524) (xy 2.80924 -1.41986) (xy 2.921 -1.58242)
|
||||
(xy 2.92862 -1.59512) (xy 3.03784 -1.75514) (xy 3.12674 -1.88976) (xy 3.18516 -1.98628)
|
||||
(xy 3.20548 -2.02946) (xy 3.20548 -2.032) (xy 3.16992 -2.08026) (xy 3.08864 -2.16916)
|
||||
(xy 2.9718 -2.29108) (xy 2.8321 -2.43332) (xy 2.78638 -2.4765) (xy 2.63144 -2.6289)
|
||||
(xy 2.52476 -2.72796) (xy 2.45618 -2.7813) (xy 2.42316 -2.794) (xy 2.42316 -2.79146)
|
||||
(xy 2.3749 -2.76352) (xy 2.2733 -2.69748) (xy 2.13614 -2.6035) (xy 1.97358 -2.49428)
|
||||
(xy 1.96342 -2.48666) (xy 1.8034 -2.37744) (xy 1.67132 -2.28854) (xy 1.5748 -2.22504)
|
||||
(xy 1.53416 -2.19964) (xy 1.52654 -2.19964) (xy 1.46304 -2.21996) (xy 1.34874 -2.25806)
|
||||
(xy 1.20904 -2.31394) (xy 1.06172 -2.37236) (xy 0.9271 -2.42824) (xy 0.8255 -2.4765)
|
||||
(xy 0.77724 -2.5019) (xy 0.77724 -2.50444) (xy 0.75946 -2.56286) (xy 0.73152 -2.68224)
|
||||
(xy 0.6985 -2.84734) (xy 0.6604 -3.04292) (xy 0.65532 -3.0734) (xy 0.61976 -3.2639)
|
||||
(xy 0.58928 -3.42138) (xy 0.56642 -3.5306) (xy 0.55372 -3.57632) (xy 0.52832 -3.5814)
|
||||
(xy 0.43434 -3.58902) (xy 0.2921 -3.59156) (xy 0.11938 -3.5941) (xy -0.06096 -3.59156)
|
||||
(xy -0.23622 -3.58902) (xy -0.38862 -3.58394) (xy -0.4953 -3.57632) (xy -0.54102 -3.56616)
|
||||
(xy -0.54356 -3.56362) (xy -0.5588 -3.5052) (xy -0.5842 -3.38582) (xy -0.61976 -3.22072)
|
||||
(xy -0.65786 -3.0226) (xy -0.66294 -2.98958) (xy -0.6985 -2.79908) (xy -0.73152 -2.64414)
|
||||
(xy -0.75438 -2.53492) (xy -0.76708 -2.49428) (xy -0.78232 -2.48412) (xy -0.86106 -2.4511)
|
||||
(xy -0.98806 -2.39776) (xy -1.14808 -2.33426) (xy -1.51384 -2.1844) (xy -1.96088 -2.49428)
|
||||
(xy -2.00406 -2.52222) (xy -2.16408 -2.63144) (xy -2.2987 -2.72034) (xy -2.39014 -2.77876)
|
||||
(xy -2.42824 -2.80162) (xy -2.43078 -2.79908) (xy -2.4765 -2.76098) (xy -2.5654 -2.67716)
|
||||
(xy -2.68732 -2.55778) (xy -2.82702 -2.41808) (xy -2.93116 -2.31394) (xy -3.05562 -2.18694)
|
||||
(xy -3.13436 -2.10312) (xy -3.17754 -2.04724) (xy -3.19278 -2.01422) (xy -3.1877 -1.9939)
|
||||
(xy -3.15976 -1.94818) (xy -3.09372 -1.84912) (xy -3.00228 -1.71196) (xy -2.89306 -1.55448)
|
||||
(xy -2.80162 -1.41986) (xy -2.7051 -1.27) (xy -2.6416 -1.16332) (xy -2.61874 -1.10998)
|
||||
(xy -2.62382 -1.08712) (xy -2.65684 -1.00076) (xy -2.71018 -0.86614) (xy -2.77622 -0.70866)
|
||||
(xy -2.9337 -0.35306) (xy -3.16738 -0.30988) (xy -3.30708 -0.28194) (xy -3.5052 -0.24384)
|
||||
(xy -3.69316 -0.20828) (xy -3.9878 -0.14986) (xy -3.99796 0.93218) (xy -3.95224 0.9525)
|
||||
(xy -3.90906 0.9652) (xy -3.79984 0.98806) (xy -3.6449 1.01854) (xy -3.45948 1.0541)
|
||||
(xy -3.30454 1.08458) (xy -3.14452 1.11252) (xy -3.03276 1.13538) (xy -2.98196 1.14554)
|
||||
(xy -2.96926 1.16332) (xy -2.92862 1.23952) (xy -2.87274 1.36144) (xy -2.81178 1.50876)
|
||||
(xy -2.74828 1.65862) (xy -2.6924 1.79832) (xy -2.65176 1.905) (xy -2.63906 1.96088)
|
||||
(xy -2.65938 2.00406) (xy -2.72034 2.0955) (xy -2.8067 2.22758) (xy -2.91338 2.38506)
|
||||
(xy -3.0226 2.54254) (xy -3.1115 2.67716) (xy -3.175 2.77368) (xy -3.2004 2.81686)
|
||||
(xy -3.1877 2.84734) (xy -3.12674 2.92354) (xy -3.00736 3.04546) (xy -2.8321 3.22072)
|
||||
(xy -2.80162 3.24866) (xy -2.66192 3.38328) (xy -2.54254 3.4925) (xy -2.46126 3.56616)
|
||||
(xy -2.42316 3.59156)) (layer F.SilkS) (width 0.00254))
|
||||
)
|
||||
101
samples/KiCad Layout/Logo_Poncho.kicad_mod
Normal file
101
samples/KiCad Layout/Logo_Poncho.kicad_mod
Normal file
@@ -0,0 +1,101 @@
|
||||
(module footprints:Logo_Poncho (layer F.Cu) (tedit 560DAFF4)
|
||||
(fp_text reference G*** (at 0.127 5.588) (layer F.SilkS) hide
|
||||
(effects (font (thickness 0.3)))
|
||||
)
|
||||
(fp_text value LOGO (at 0.762 7.493) (layer F.SilkS) hide
|
||||
(effects (font (thickness 0.3)))
|
||||
)
|
||||
(fp_poly (pts (xy 4.535714 -0.627021) (xy 4.498746 -0.420109) (xy 4.405012 -0.1352) (xy 4.280272 0.162897)
|
||||
(xy 4.150281 0.409374) (xy 4.123376 0.447413) (xy 4.123376 -0.123701) (xy 4.058326 -0.436938)
|
||||
(xy 3.869112 -0.644378) (xy 3.564639 -0.737671) (xy 3.463636 -0.742208) (xy 3.129516 -0.681223)
|
||||
(xy 2.908248 -0.503835) (xy 2.808734 -0.218392) (xy 2.803896 -0.123701) (xy 2.868946 0.189536)
|
||||
(xy 3.058159 0.396975) (xy 3.362633 0.490269) (xy 3.463636 0.494805) (xy 3.797606 0.436492)
|
||||
(xy 3.958441 0.32987) (xy 4.092315 0.09203) (xy 4.123376 -0.123701) (xy 4.123376 0.447413)
|
||||
(xy 4.089856 0.494805) (xy 4.013749 0.621925) (xy 3.89522 0.861365) (xy 3.753792 1.172585)
|
||||
(xy 3.672876 1.360714) (xy 3.421635 1.929272) (xy 3.149718 2.496808) (xy 2.869494 3.041693)
|
||||
(xy 2.593334 3.542296) (xy 2.556493 3.603955) (xy 2.556493 -0.123701) (xy 2.552598 -0.439936)
|
||||
(xy 2.534834 -0.625484) (xy 2.494089 -0.714524) (xy 2.421247 -0.741238) (xy 2.391558 -0.742208)
|
||||
(xy 2.270831 -0.703329) (xy 2.228325 -0.558669) (xy 2.226623 -0.494805) (xy 2.206189 -0.31957)
|
||||
(xy 2.109798 -0.254982) (xy 1.97922 -0.247402) (xy 1.803985 -0.267837) (xy 1.739397 -0.364227)
|
||||
(xy 1.731818 -0.494805) (xy 1.705898 -0.675896) (xy 1.609459 -0.739655) (xy 1.566883 -0.742208)
|
||||
(xy 1.482553 -0.727599) (xy 1.433074 -0.660988) (xy 1.40933 -0.508193) (xy 1.402206 -0.235036)
|
||||
(xy 1.401948 -0.123701) (xy 1.405843 0.192533) (xy 1.423606 0.378081) (xy 1.464351 0.467122)
|
||||
(xy 1.537193 0.493835) (xy 1.566883 0.494805) (xy 1.680559 0.462518) (xy 1.726426 0.336472)
|
||||
(xy 1.731818 0.206169) (xy 1.745609 0.012245) (xy 1.815564 -0.067294) (xy 1.97922 -0.082467)
|
||||
(xy 2.145441 -0.066377) (xy 2.213617 0.015237) (xy 2.226623 0.206169) (xy 2.245073 0.405103)
|
||||
(xy 2.317099 0.48537) (xy 2.391558 0.494805) (xy 2.475887 0.480197) (xy 2.525367 0.413586)
|
||||
(xy 2.549111 0.260791) (xy 2.556234 -0.012366) (xy 2.556493 -0.123701) (xy 2.556493 3.603955)
|
||||
(xy 2.33361 3.976986) (xy 2.102692 4.324132) (xy 1.912952 4.562103) (xy 1.781691 4.667512)
|
||||
(xy 1.660102 4.654002) (xy 1.438445 4.580892) (xy 1.163465 4.463746) (xy 1.154545 4.459546)
|
||||
(xy 1.154545 0.36149) (xy 1.110706 0.268405) (xy 0.956623 0.266159) (xy 0.938776 0.269422)
|
||||
(xy 0.717011 0.243945) (xy 0.523128 0.11531) (xy 0.417755 -0.07121) (xy 0.412337 -0.123701)
|
||||
(xy 0.484303 -0.318602) (xy 0.658393 -0.472009) (xy 0.871896 -0.536691) (xy 0.949632 -0.528355)
|
||||
(xy 1.105982 -0.515384) (xy 1.154279 -0.597467) (xy 1.154545 -0.609566) (xy 1.114247 -0.69528)
|
||||
(xy 0.970303 -0.735064) (xy 0.783441 -0.742208) (xy 0.429195 -0.687347) (xy 0.198088 -0.523118)
|
||||
(xy 0.090717 -0.250044) (xy 0.082467 -0.123701) (xy 0.144642 0.188869) (xy 0.330769 0.392787)
|
||||
(xy 0.640252 0.487526) (xy 0.783441 0.494805) (xy 1.022962 0.480515) (xy 1.134243 0.429291)
|
||||
(xy 1.154545 0.36149) (xy 1.154545 4.459546) (xy 1.148315 4.456614) (xy 0.592041 4.256938)
|
||||
(xy 0.061238 4.207886) (xy -0.164935 4.249843) (xy -0.164935 -0.123701) (xy -0.168831 -0.439936)
|
||||
(xy -0.186594 -0.625484) (xy -0.227339 -0.714524) (xy -0.300181 -0.741238) (xy -0.329871 -0.742208)
|
||||
(xy -0.435349 -0.716231) (xy -0.483875 -0.609894) (xy -0.495586 -0.391721) (xy -0.496366 -0.041234)
|
||||
(xy -0.706429 -0.391721) (xy -0.874005 -0.625569) (xy -1.029731 -0.729733) (xy -1.117986 -0.742208)
|
||||
(xy -1.220495 -0.733937) (xy -1.280586 -0.685976) (xy -1.309571 -0.563603) (xy -1.318762 -0.332094)
|
||||
(xy -1.319481 -0.123701) (xy -1.315585 0.192533) (xy -1.297822 0.378081) (xy -1.257077 0.467122)
|
||||
(xy -1.184235 0.493835) (xy -1.154546 0.494805) (xy -1.049068 0.468829) (xy -1.000541 0.362492)
|
||||
(xy -0.988831 0.144318) (xy -0.98805 -0.206169) (xy -0.777988 0.144318) (xy -0.610412 0.378167)
|
||||
(xy -0.454685 0.48233) (xy -0.36643 0.494805) (xy -0.263922 0.486535) (xy -0.203831 0.438574)
|
||||
(xy -0.174846 0.3162) (xy -0.165655 0.084692) (xy -0.164935 -0.123701) (xy -0.164935 4.249843)
|
||||
(xy -0.48241 4.308738) (xy -0.783442 4.420415) (xy -1.059466 4.535832) (xy -1.285963 4.626797)
|
||||
(xy -1.401948 4.669513) (xy -1.518876 4.625399) (xy -1.566884 4.584033) (xy -1.566884 -0.123701)
|
||||
(xy -1.631934 -0.436938) (xy -1.821147 -0.644378) (xy -2.12562 -0.737671) (xy -2.226624 -0.742208)
|
||||
(xy -2.560743 -0.681223) (xy -2.782012 -0.503835) (xy -2.881525 -0.218392) (xy -2.886364 -0.123701)
|
||||
(xy -2.821314 0.189536) (xy -2.6321 0.396975) (xy -2.327627 0.490269) (xy -2.226624 0.494805)
|
||||
(xy -1.892653 0.436492) (xy -1.731819 0.32987) (xy -1.597945 0.09203) (xy -1.566884 -0.123701)
|
||||
(xy -1.566884 4.584033) (xy -1.717176 4.454536) (xy -1.98582 4.166799) (xy -2.061689 4.078924)
|
||||
(xy -2.369861 3.70727) (xy -2.632201 3.363429) (xy -2.870341 3.013116) (xy -2.968832 2.849614)
|
||||
(xy -2.968832 -0.32987) (xy -3.007485 -0.54598) (xy -3.140146 -0.67528) (xy -3.391869 -0.734039)
|
||||
(xy -3.603832 -0.742208) (xy -4.04091 -0.742208) (xy -4.04091 -0.123701) (xy -4.037014 0.192533)
|
||||
(xy -4.019251 0.378081) (xy -3.978506 0.467122) (xy -3.905664 0.493835) (xy -3.875974 0.494805)
|
||||
(xy -3.746639 0.446485) (xy -3.711039 0.288637) (xy -3.687673 0.146227) (xy -3.584731 0.090232)
|
||||
(xy -3.438897 0.082468) (xy -3.16065 0.034793) (xy -3.008068 -0.114765) (xy -2.968832 -0.32987)
|
||||
(xy -2.968832 2.849614) (xy -3.105916 2.622046) (xy -3.360558 2.155935) (xy -3.6559 1.580499)
|
||||
(xy -3.724805 1.443182) (xy -3.927446 1.040996) (xy -4.107468 0.68891) (xy -4.250627 0.414385)
|
||||
(xy -4.342678 0.24488) (xy -4.366512 0.206169) (xy -4.479713 -0.061738) (xy -4.470402 -0.368299)
|
||||
(xy -4.39208 -0.562072) (xy -4.211754 -0.794239) (xy -3.970771 -1.027175) (xy -3.729883 -1.205582)
|
||||
(xy -3.628572 -1.257014) (xy -3.515586 -1.328258) (xy -3.31072 -1.481511) (xy -3.047204 -1.691308)
|
||||
(xy -2.861153 -1.845142) (xy -2.478394 -2.151727) (xy -2.09396 -2.434151) (xy -1.735885 -2.674156)
|
||||
(xy -1.432202 -2.853482) (xy -1.210945 -2.953871) (xy -1.135923 -2.968831) (xy -0.992755 -2.911987)
|
||||
(xy -0.868796 -2.807085) (xy -0.798823 -2.718089) (xy -0.768465 -2.621372) (xy -0.779148 -2.476306)
|
||||
(xy -0.832302 -2.242261) (xy -0.897248 -1.997411) (xy -1.002077 -1.614541) (xy -1.0637 -1.342913)
|
||||
(xy -1.062894 -1.163551) (xy -0.980436 -1.05748) (xy -0.797105 -1.005726) (xy -0.493678 -0.989314)
|
||||
(xy -0.050932 -0.989267) (xy 0.123701 -0.98961) (xy 0.616616 -0.993152) (xy 0.963601 -1.004879)
|
||||
(xy 1.183529 -1.026446) (xy 1.295275 -1.059505) (xy 1.31948 -1.094352) (xy 1.298521 -1.22034)
|
||||
(xy 1.243133 -1.457326) (xy 1.164548 -1.757819) (xy 1.150407 -1.809213) (xy 1.043088 -2.255847)
|
||||
(xy 1.008894 -2.569631) (xy 1.048676 -2.765972) (xy 1.163285 -2.860279) (xy 1.208992 -2.870512)
|
||||
(xy 1.420553 -2.83991) (xy 1.739874 -2.711189) (xy 2.149801 -2.493929) (xy 2.633175 -2.197713)
|
||||
(xy 3.172841 -1.832122) (xy 3.525487 -1.576813) (xy 3.929546 -1.272303) (xy 4.214754 -1.04349)
|
||||
(xy 4.398878 -0.873667) (xy 4.499689 -0.746128) (xy 4.534955 -0.644167) (xy 4.535714 -0.627021)
|
||||
(xy 4.535714 -0.627021)) (layer F.SilkS) (width 0.1))
|
||||
(fp_poly (pts (xy 1.023542 -3.736319) (xy 0.895402 -3.389445) (xy 0.679417 -3.11223) (xy 0.563302 -2.982356)
|
||||
(xy 0.508034 -2.869698) (xy 0.506066 -2.720981) (xy 0.549854 -2.48293) (xy 0.574294 -2.370022)
|
||||
(xy 0.658312 -1.973188) (xy 0.69611 -1.709422) (xy 0.675383 -1.550382) (xy 0.583822 -1.467723)
|
||||
(xy 0.409122 -1.433104) (xy 0.16144 -1.419187) (xy -0.12355 -1.415195) (xy -0.339882 -1.428263)
|
||||
(xy -0.43645 -1.453549) (xy -0.490308 -1.618268) (xy -0.466441 -1.923684) (xy -0.365224 -2.365222)
|
||||
(xy -0.360015 -2.384058) (xy -0.225225 -2.868872) (xy -0.488808 -3.104404) (xy -0.714353 -3.402585)
|
||||
(xy -0.808424 -3.746824) (xy -0.77552 -4.096523) (xy -0.620138 -4.411085) (xy -0.346777 -4.649915)
|
||||
(xy -0.31571 -4.666738) (xy 0.033719 -4.763905) (xy 0.380075 -4.71573) (xy 0.68714 -4.538441)
|
||||
(xy 0.918691 -4.248265) (xy 0.989692 -4.081895) (xy 1.023542 -3.736319) (xy 1.023542 -3.736319)) (layer F.SilkS) (width 0.1))
|
||||
(fp_poly (pts (xy -3.320079 -0.321578) (xy -3.381169 -0.206169) (xy -3.537606 -0.087441) (xy -3.656944 -0.12265)
|
||||
(xy -3.710414 -0.301007) (xy -3.711039 -0.32987) (xy -3.666881 -0.523821) (xy -3.553583 -0.57585)
|
||||
(xy -3.399915 -0.47517) (xy -3.381169 -0.453571) (xy -3.320079 -0.321578) (xy -3.320079 -0.321578)) (layer F.SilkS) (width 0.1))
|
||||
(fp_poly (pts (xy -1.911824 -0.1467) (xy -1.935194 -0.006732) (xy -2.006645 0.114199) (xy -2.128505 0.265484)
|
||||
(xy -2.225472 0.329848) (xy -2.226624 0.32987) (xy -2.322643 0.267542) (xy -2.444552 0.117317)
|
||||
(xy -2.446603 0.114199) (xy -2.537406 -0.05684) (xy -2.52656 -0.197017) (xy -2.465958 -0.318756)
|
||||
(xy -2.343482 -0.473895) (xy -2.226624 -0.536039) (xy -2.106037 -0.47051) (xy -1.987289 -0.318756)
|
||||
(xy -1.911824 -0.1467) (xy -1.911824 -0.1467)) (layer F.SilkS) (width 0.1))
|
||||
(fp_poly (pts (xy 3.778435 -0.1467) (xy 3.755065 -0.006732) (xy 3.683615 0.114199) (xy 3.561755 0.265484)
|
||||
(xy 3.464788 0.329848) (xy 3.463636 0.32987) (xy 3.367616 0.267542) (xy 3.245708 0.117317)
|
||||
(xy 3.243657 0.114199) (xy 3.152854 -0.05684) (xy 3.163699 -0.197017) (xy 3.224301 -0.318756)
|
||||
(xy 3.346778 -0.473895) (xy 3.463636 -0.536039) (xy 3.584223 -0.47051) (xy 3.702971 -0.318756)
|
||||
(xy 3.778435 -0.1467) (xy 3.778435 -0.1467)) (layer F.SilkS) (width 0.1))
|
||||
)
|
||||
@@ -0,0 +1,24 @@
|
||||
(module footprints:MagneticBuzzer_ProSignal_ABT-410-RC (layer F.Cu) (tedit 544E5504)
|
||||
(descr "Buzzer, Elektromagnetic Beeper, Summer, 1,5V-DC,")
|
||||
(tags "Pro Signal, ABT-410-RC,")
|
||||
(fp_text reference U1 (at 3.175 -8.001) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value BUZZER (at 2.17424 8.001) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start 8.17626 -0.50038) (end 8.17626 0.50038) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 7.67588 0) (end 8.6741 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 3.175 0) (end 4.17576 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user + (at 10.67562 0) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_circle (center 3.175 0) (end 9.37514 0) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole circle (at 0 0) (size 1.6002 1.6002) (drill 1.00076) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole circle (at 6.35 0) (size 1.6002 1.6002) (drill 1.00076) (layers *.Cu *.Mask F.SilkS))
|
||||
(model Buzzers_Beepers.3dshapes/MagneticBuzzer_ProSignal_ABT-410-RC.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
31
samples/KiCad Layout/Pin_Header_Straight_2x02.kicad_mod
Normal file
31
samples/KiCad Layout/Pin_Header_Straight_2x02.kicad_mod
Normal file
@@ -0,0 +1,31 @@
|
||||
(module footprints:Pin_Header_Straight_2x02 (layer F.Cu) (tedit 0)
|
||||
(descr "Through hole pin header")
|
||||
(tags "pin header")
|
||||
(fp_text reference P1 (at 0 -5.1) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value PWR_JUMPER (at 0 -3.1) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.75 -1.75) (end -1.75 4.3) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 4.3 -1.75) (end 4.3 4.3) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.75 -1.75) (end 4.3 -1.75) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.75 4.3) (end 4.3 4.3) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.55 0) (end -1.55 -1.55) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0 -1.55) (end -1.55 -1.55) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.27 1.27) (end 1.27 1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.27 1.27) (end 1.27 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.27 -1.27) (end 3.81 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 -1.27) (end 3.81 3.81) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 3.81) (end -1.27 3.81) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.27 3.81) (end -1.27 1.27) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at 0 0) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole oval (at 2.54 0) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole oval (at 0 2.54) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole oval (at 2.54 2.54) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(model Pin_Headers.3dshapes/Pin_Header_Straight_2x02.wrl
|
||||
(at (xyz 0.05 -0.05 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 90))
|
||||
)
|
||||
)
|
||||
67
samples/KiCad Layout/Pin_Header_Straight_2x20.kicad_mod
Normal file
67
samples/KiCad Layout/Pin_Header_Straight_2x20.kicad_mod
Normal file
@@ -0,0 +1,67 @@
|
||||
(module footprints:Pin_Header_Straight_2x20 (layer F.Cu) (tedit 0)
|
||||
(descr "Through hole pin header")
|
||||
(tags "pin header")
|
||||
(fp_text reference XA2 (at 0 -5.1) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value Conn_Poncho2P_2x_20x2 (at 0 -3.1) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.75 -1.75) (end -1.75 50.05) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 4.3 -1.75) (end 4.3 50.05) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.75 -1.75) (end 4.3 -1.75) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.75 50.05) (end 4.3 50.05) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 3.81 49.53) (end 3.81 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.27 1.27) (end -1.27 49.53) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 49.53) (end -1.27 49.53) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 -1.27) (end 1.27 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0 -1.55) (end -1.55 -1.55) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.27 -1.27) (end 1.27 1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.27 1.27) (end -1.27 1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.55 -1.55) (end -1.55 0) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at 0 0) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole oval (at 2.54 0) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole oval (at 0 2.54) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole oval (at 2.54 2.54) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 5 thru_hole oval (at 0 5.08) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 6 thru_hole oval (at 2.54 5.08) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 7 thru_hole oval (at 0 7.62) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 8 thru_hole oval (at 2.54 7.62) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 9 thru_hole oval (at 0 10.16) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 10 thru_hole oval (at 2.54 10.16) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 11 thru_hole oval (at 0 12.7) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 12 thru_hole oval (at 2.54 12.7) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 13 thru_hole oval (at 0 15.24) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 14 thru_hole oval (at 2.54 15.24) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 15 thru_hole oval (at 0 17.78) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 16 thru_hole oval (at 2.54 17.78) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 17 thru_hole oval (at 0 20.32) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 18 thru_hole oval (at 2.54 20.32) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 19 thru_hole oval (at 0 22.86) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 20 thru_hole oval (at 2.54 22.86) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 21 thru_hole oval (at 0 25.4) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 22 thru_hole oval (at 2.54 25.4) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 23 thru_hole oval (at 0 27.94) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 24 thru_hole oval (at 2.54 27.94) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 25 thru_hole oval (at 0 30.48) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 26 thru_hole oval (at 2.54 30.48) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 27 thru_hole oval (at 0 33.02) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 28 thru_hole oval (at 2.54 33.02) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 29 thru_hole oval (at 0 35.56) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 30 thru_hole oval (at 2.54 35.56) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 31 thru_hole oval (at 0 38.1) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 32 thru_hole oval (at 2.54 38.1) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 33 thru_hole oval (at 0 40.64) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 34 thru_hole oval (at 2.54 40.64) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 35 thru_hole oval (at 0 43.18) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 36 thru_hole oval (at 2.54 43.18) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 37 thru_hole oval (at 0 45.72) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 38 thru_hole oval (at 2.54 45.72) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 39 thru_hole oval (at 0 48.26) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 40 thru_hole oval (at 2.54 48.26) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
|
||||
(model Pin_Headers.3dshapes/Pin_Header_Straight_2x20.wrl
|
||||
(at (xyz 0.05 -0.95 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 90))
|
||||
)
|
||||
)
|
||||
20
samples/KiCad Layout/Resistor_Horizontal_RM7mm.kicad_mod
Normal file
20
samples/KiCad Layout/Resistor_Horizontal_RM7mm.kicad_mod
Normal file
@@ -0,0 +1,20 @@
|
||||
(module footprints:Resistor_Horizontal_RM7mm (layer F.Cu) (tedit 569FCF07)
|
||||
(descr "Resistor, Axial, RM 7.62mm, 1/3W,")
|
||||
(tags "Resistor Axial RM 7.62mm 1/3W R3")
|
||||
(fp_text reference R18 (at 4.05892 -3.50012) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 680 (at 3.81 3.81) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.25 -1.5) (end 8.85 -1.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.25 1.5) (end -1.25 -1.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 8.85 -1.5) (end 8.85 1.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.25 1.5) (end 8.85 1.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.27 -1.27) (end 6.35 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 6.35 -1.27) (end 6.35 1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 6.35 1.27) (end 1.27 1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.27 1.27) (end 1.27 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole circle (at 0 0) (size 1.99898 1.99898) (drill 1.00076) (layers *.Cu *.SilkS *.Mask))
|
||||
(pad 2 thru_hole circle (at 7.62 0) (size 1.99898 1.99898) (drill 1.00076) (layers *.Cu *.SilkS *.Mask))
|
||||
)
|
||||
17
samples/KiCad Layout/SW_PUSH_SMALL.kicad_mod
Normal file
17
samples/KiCad Layout/SW_PUSH_SMALL.kicad_mod
Normal file
@@ -0,0 +1,17 @@
|
||||
(module footprints:SW_PUSH_SMALL (layer F.Cu) (tedit 0)
|
||||
(fp_text reference SW7 (at 0 -0.762) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value SW_PUSH (at 0 1.016) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_circle (center 0 0) (end 0 -2.54) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -3.81 -3.81) (end 3.81 -3.81) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 -3.81) (end 3.81 3.81) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.81 3.81) (end -3.81 3.81) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -3.81 -3.81) (end -3.81 3.81) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole circle (at 3.81 -2.54) (size 1.397 1.397) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole circle (at 3.81 2.54) (size 1.397 1.397) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 1 thru_hole circle (at -3.81 -2.54) (size 1.397 1.397) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole circle (at -3.81 2.54) (size 1.397 1.397) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
25
samples/KiCad Layout/TO-92_Molded_Narrow.kicad_mod
Normal file
25
samples/KiCad Layout/TO-92_Molded_Narrow.kicad_mod
Normal file
@@ -0,0 +1,25 @@
|
||||
(module footprints:TO-92_Molded_Narrow (layer F.Cu) (tedit 54F242E1)
|
||||
(descr "TO-92 leads molded, narrow, drill 0.6mm (see NXP sot054_po.pdf)")
|
||||
(tags "to-92 sc-43 sc-43a sot54 PA33 transistor")
|
||||
(fp_text reference Q5 (at 0 -4) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value BC547 (at 0 3) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.4 1.95) (end -1.4 -2.65) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.4 1.95) (end 3.9 1.95) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -0.43 1.7) (end 2.97 1.7) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start 1.27 0) (end 1.27 -2.4) (angle -135) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start 1.27 0) (end 1.27 -2.4) (angle 135) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.4 -2.65) (end 3.9 -2.65) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 3.9 1.95) (end 3.9 -2.65) (layer F.CrtYd) (width 0.05))
|
||||
(pad 2 thru_hole circle (at 1.27 -1.27 90) (size 1.00076 1.00076) (drill 0.6) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole circle (at 2.54 0 90) (size 1.00076 1.00076) (drill 0.6) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 1 thru_hole circle (at 0 0 90) (size 1.00076 1.00076) (drill 0.6) (layers *.Cu *.Mask F.SilkS))
|
||||
(model TO_SOT_Packages_THT.3dshapes/TO-92_Molded_Narrow.wrl
|
||||
(at (xyz 0.05 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 -90))
|
||||
)
|
||||
)
|
||||
95
samples/KiCad Layout/filenames/fp-lib-table
Normal file
95
samples/KiCad Layout/filenames/fp-lib-table
Normal file
@@ -0,0 +1,95 @@
|
||||
(fp_lib_table
|
||||
(lib (name Air_Coils_SML_NEOSID)(type Github)(uri ${KIGITHUB}/Air_Coils_SML_NEOSID.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Buttons_Switches_SMD)(type Github)(uri ${KIGITHUB}/Buttons_Switches_SMD.pretty)(options "")(descr "Buttons and switches, surface mount"))
|
||||
(lib (name Buttons_Switches_THT)(type Github)(uri ${KIGITHUB}/Buttons_Switches_THT.pretty)(options "")(descr "Buttons and switches, through hole"))
|
||||
(lib (name Buzzers_Beepers)(type Github)(uri ${KIGITHUB}/Buzzers_Beepers.pretty)(options "")(descr "Audio signalling devices"))
|
||||
(lib (name Capacitors_SMD)(type Github)(uri ${KIGITHUB}/Capacitors_SMD.pretty)(options "")(descr "Capacitors, surface mount"))
|
||||
(lib (name Capacitors_Tantalum_SMD)(type Github)(uri ${KIGITHUB}/Capacitors_Tantalum_SMD.pretty)(options "")(descr "Tantalum capacitors, surface mount"))
|
||||
(lib (name Capacitors_THT)(type Github)(uri ${KIGITHUB}/Capacitors_THT.pretty)(options "")(descr "Capacitors, through hole"))
|
||||
(lib (name Choke_Axial_ThroughHole)(type Github)(uri ${KIGITHUB}/Choke_Axial_ThroughHole.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Choke_Common-Mode_Wurth)(type Github)(uri ${KIGITHUB}/Choke_Common-Mode_Wurth.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Choke_Radial_ThroughHole)(type Github)(uri ${KIGITHUB}/Choke_Radial_ThroughHole.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Choke_SMD)(type Github)(uri ${KIGITHUB}/Choke_SMD.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Choke_Toroid_ThroughHole)(type Github)(uri ${KIGITHUB}/Choke_Toroid_ThroughHole.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Connectors_Harwin)(type Github)(uri ${KIGITHUB}/Connectors_Harwin.pretty)(options "")(descr "Harwin connector footprints www.harwin.com"))
|
||||
(lib (name Connectors_Hirose)(type Github)(uri ${KIGITHUB}/Connectors_Hirose.pretty)(options "")(descr "Hirose connector footprints www.hirose.com"))
|
||||
(lib (name Connectors_JAE)(type Github)(uri ${KIGITHUB}/Connectors_JAE.pretty)(options "")(descr "JAE connector footprints http://www.jae.com/jccom/en/connectors"))
|
||||
(lib (name Connectors_JST)(type Github)(uri ${KIGITHUB}/Connectors_JST.pretty)(options "")(descr "JST connector footprints www.jst.com"))
|
||||
(lib (name Connectors_Mini-Universal)(type Github)(uri ${KIGITHUB}/Connectors_Mini-Universal.pretty)(options "")(descr Mate-N-Lok))
|
||||
(lib (name Connectors_Molex)(type Github)(uri ${KIGITHUB}/Connectors_Molex.pretty)(options "")(descr "Molex connector foottprints www.molex.com"))
|
||||
(lib (name Connectors_Multicomp)(type Github)(uri ${KIGITHUB}/Connectors_Multicomp.pretty)(options "")(descr "Multicomp connector footprints"))
|
||||
(lib (name Connectors_Phoenix)(type Github)(uri ${KIGITHUB}/Connectors_Phoenix.pretty)(options "")(descr "Phoenix connector footprints"))
|
||||
(lib (name Connectors_Samtec)(type Github)(uri ${KIGITHUB}/Connectors_Samtec.pretty)(options "")(descr "Samtec connector footprints"))
|
||||
(lib (name Connectors_TE-Connectivity)(type Github)(uri ${KIGITHUB}/Connectors_TE-Connectivity.pretty)(options "")(descr "TE Connectivity connector footprints www.te.com"))
|
||||
(lib (name Connectors_Terminal_Blocks)(type Github)(uri ${KIGITHUB}/Connectors_Terminal_Blocks.pretty)(options "")(descr "Terminal block connectors"))
|
||||
(lib (name Connectors_WAGO)(type Github)(uri ${KIGITHUB}/Connectors_WAGO.pretty)(options "")(descr "WAGO connector footprints www.wago.com"))
|
||||
(lib (name Connectors)(type Github)(uri ${KIGITHUB}/Connectors.pretty)(options "")(descr "Assorted connector footprints"))
|
||||
(lib (name Converters_DCDC_ACDC)(type Github)(uri ${KIGITHUB}/Converters_DCDC_ACDC.pretty)(options "")(descr "DC-DC and AC-DC convertor modules"))
|
||||
(lib (name Crystals)(type Github)(uri ${KIGITHUB}/Crystals.pretty)(options "")(descr "Crystals and oscillators"))
|
||||
(lib (name Diodes_SMD)(type Github)(uri ${KIGITHUB}/Diodes_SMD.pretty)(options "")(descr "Diodes, surface mount"))
|
||||
(lib (name Diodes_THT)(type Github)(uri ${KIGITHUB}/Diodes_THT.pretty)(options "")(descr "Diodes, through hole"))
|
||||
(lib (name Discret)(type Github)(uri ${KIGITHUB}/Discret.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Displays_7-Segment)(type Github)(uri ${KIGITHUB}/Displays_7-Segment.pretty)(options "")(descr "Seven segment displays"))
|
||||
(lib (name Displays)(type Github)(uri ${KIGITHUB}/Displays.pretty)(options "")(descr "Display modules"))
|
||||
(lib (name Divers)(type Github)(uri ${KIGITHUB}/Divers.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Enclosures)(type Github)(uri ${KIGITHUB}/Enclosures.pretty)(options "")(descr "Electronics enclosures and housings"))
|
||||
(lib (name EuroBoard_Outline)(type Github)(uri ${KIGITHUB}/EuroBoard_Outline.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Fiducials)(type Github)(uri ${KIGITHUB}/Fiducials.pretty)(options "")(descr "Fiducial markings"))
|
||||
(lib (name Filters_HF_Coils_NEOSID)(type Github)(uri ${KIGITHUB}/Filters_HF_Coils_NEOSID.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Fuse_Holders_and_Fuses)(type Github)(uri ${KIGITHUB}/Fuse_Holders_and_Fuses.pretty)(options "")(descr "Fuses and fuse holders"))
|
||||
(lib (name Hall-Effect_Transducers_LEM)(type Github)(uri ${KIGITHUB}/Hall-Effect_Transducers_LEM.pretty)(options "")(descr "LEM hall effect transducers"))
|
||||
(lib (name Heatsinks)(type Github)(uri ${KIGITHUB}/Heatsinks.pretty)(options "")(descr "Heatsinks and thermal products"))
|
||||
(lib (name Housings_BGA)(type Github)(uri ${KIGITHUB}/Housings_BGA.pretty)(options "")(descr "Ball Grid Array (BGA)"))
|
||||
(lib (name Housings_DFN_QFN)(type Github)(uri ${KIGITHUB}/Housings_DFN_QFN.pretty)(options "")(descr "Surface mount IC packages, DFN / LGA / QFN"))
|
||||
(lib (name Housings_DIP)(type Github)(uri ${KIGITHUB}/Housings_DIP.pretty)(options "")(descr "Through hole IC packages, DIP"))
|
||||
(lib (name Housings_LCC)(type Github)(uri ${KIGITHUB}/Housings_LCC.pretty)(options "")(descr "Leaded Chip Carriers (LCC)"))
|
||||
(lib (name Housings_LGA)(type Github)(uri ${KIGITHUB}/Housings_LGA.pretty)(options "")(descr "Land Grid Array (LGA)"))
|
||||
(lib (name Housings_PGA)(type Github)(uri ${KIGITHUB}/Housings_PGA.pretty)(options "")(descr "Pin Grid Array (PGA)"))
|
||||
(lib (name Housings_QFP)(type Github)(uri ${KIGITHUB}/Housings_QFP.pretty)(options "")(descr "Quad Flat Package (QFP)"))
|
||||
(lib (name Housings_SIP)(type Github)(uri ${KIGITHUB}/Housings_SIP.pretty)(options "")(descr "Single Inline Package (SIP)"))
|
||||
(lib (name Housings_SOIC)(type Github)(uri ${KIGITHUB}/Housings_SOIC.pretty)(options "")(descr "Small Outline Integrated Circuits (SOIC)"))
|
||||
(lib (name Housings_SSOP)(type Github)(uri ${KIGITHUB}/Housings_SSOP.pretty)(options "")(descr "SSOP, TSSOP, MSOP, QSOP, VSO packages"))
|
||||
(lib (name Inductors_NEOSID)(type Github)(uri ${KIGITHUB}/Inductors_NEOSID.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Inductors)(type Github)(uri ${KIGITHUB}/Inductors.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Inductors_SMD)(type Github)(uri ${KIGITHUB}/Inductors_SMD.pretty)(options "")(descr "Inductors, surface mount"))
|
||||
(lib (name Inductors_THT)(type Github)(uri ${KIGITHUB}/Inductors_THT.pretty)(options "")(descr "Inductors, through hole"))
|
||||
(lib (name IR-DirectFETs)(type Github)(uri ${KIGITHUB}/IR-DirectFETs.pretty)(options "")(descr "DirectFet packets from International Rectifier"))
|
||||
(lib (name Labels)(type Github)(uri ${KIGITHUB}/Labels.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name LEDs)(type Github)(uri ${KIGITHUB}/LEDs.pretty)(options "")(descr "Light emitting diodes (LEDs)"))
|
||||
(lib (name Measurement_Points)(type Github)(uri ${KIGITHUB}/Measurement_Points.pretty)(options "")(descr "Terminals for test equipment"))
|
||||
(lib (name Measurement_Scales)(type Github)(uri ${KIGITHUB}/Measurement_Scales.pretty)(options "")(descr "Measurement scales and gauges"))
|
||||
(lib (name Mechanical_Sockets)(type Github)(uri ${KIGITHUB}/Mechanical_Sockets.pretty)(options "")(descr "Sockets for board to board connection"))
|
||||
(lib (name Microwave)(type Github)(uri ${KIGITHUB}/Microwave.pretty)(options "")(descr "Microwave"))
|
||||
(lib (name Modules)(type Github)(uri ${KIGITHUB}/Modules.pretty)(options "")(descr "Board-level devices integrating system functionality into a single module"))
|
||||
(lib (name Mounting_Holes)(type Github)(uri ${KIGITHUB}/Mounting_Holes.pretty)(options "")(descr "Mechanical fasteners"))
|
||||
(lib (name NF-Transformers_ETAL)(type Github)(uri ${KIGITHUB}/NF-Transformers_ETAL.pretty)(options "")(descr "Deprecated - will be deleted"))
|
||||
(lib (name Oddities)(type Github)(uri ${KIGITHUB}/Oddities.pretty)(options "")(descr "Assorted footprints. Deprecated - will be removed"))
|
||||
(lib (name Opto-Devices)(type Github)(uri ${KIGITHUB}/Opto-Devices.pretty)(options "")(descr "Optocouplers, light sensors, and other optical devices"))
|
||||
(lib (name Oscillators)(type Github)(uri ${KIGITHUB}/Oscillators.pretty)(options "")(descr "Precicision oscillator modules"))
|
||||
(lib (name PFF_PSF_PSS_Leadforms)(type Github)(uri ${KIGITHUB}/PFF_PSF_PSS_Leadforms.pretty)(options "")(descr "Allegro leadform packages"))
|
||||
(lib (name Pin_Headers)(type Github)(uri ${KIGITHUB}/Pin_Headers.pretty)(options "")(descr "Male pin headers"))
|
||||
(lib (name Potentiometers)(type Github)(uri ${KIGITHUB}/Potentiometers.pretty)(options "")(descr "Potentiometers / variable resistors"))
|
||||
(lib (name Power_Integrations)(type Github)(uri ${KIGITHUB}/Power_Integrations.pretty)(options "")(descr "Power Integrations footprints"))
|
||||
(lib (name Relays_THT)(type Github)(uri ${KIGITHUB}/Relays_THT.pretty)(options "")(descr "Through hole relay packages"))
|
||||
(lib (name Resistors_SMD)(type Github)(uri ${KIGITHUB}/Resistors_SMD.pretty)(options "")(descr "Resistors, surface mount"))
|
||||
(lib (name Resistors_THT)(type Github)(uri ${KIGITHUB}/Resistors_THT.pretty)(options "")(descr "Resistors, through hole"))
|
||||
(lib (name Resistors_Universal)(type Github)(uri ${KIGITHUB}/Resistors_Universal.pretty)(options "")(descr Experimental))
|
||||
(lib (name RF_Modules)(type Github)(uri ${KIGITHUB}/RF_Modules.pretty)(options "")(descr "Radio-frequency / wireless modules"))
|
||||
(lib (name Shielding_Cabinets)(type Github)(uri ${KIGITHUB}/Shielding_Cabinets.pretty)(options "")(descr "RF / EMI shields"))
|
||||
(lib (name SMD_Packages)(type Github)(uri ${KIGITHUB}/SMD_Packages.pretty)(options "")(descr "Various SMD packages. Read only - footprints will be moved to other libraries"))
|
||||
(lib (name Sockets_MOLEX_KK-System)(type Github)(uri ${KIGITHUB}/Sockets_MOLEX_KK-System.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Socket_Strips)(type Github)(uri ${KIGITHUB}/Socket_Strips.pretty)(options "")(descr "Female socket strips"))
|
||||
(lib (name Sockets)(type Github)(uri ${KIGITHUB}/Sockets.pretty)(options "")(descr "IC sockets"))
|
||||
(lib (name Symbols)(type Github)(uri ${KIGITHUB}/Symbols.pretty)(options "")(descr "PCB symbols"))
|
||||
(lib (name TO_SOT_Packages_SMD)(type Github)(uri ${KIGITHUB}/TO_SOT_Packages_SMD.pretty)(options "")(descr "Surface mount transistor packages"))
|
||||
(lib (name TO_SOT_Packages_THT)(type Github)(uri ${KIGITHUB}/TO_SOT_Packages_THT.pretty)(options "")(descr "Through hole transistor packages"))
|
||||
(lib (name Transformers_CHK)(type Github)(uri ${KIGITHUB}/Transformers_CHK.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Transformers_SMD)(type Github)(uri ${KIGITHUB}/Transformers_SMD.pretty)(options "")(descr "Surface mount transformers"))
|
||||
(lib (name Transformers_SMPS_ThroughHole)(type Github)(uri ${KIGITHUB}/Transformers_SMPS_ThroughHole.pretty)(options "")(descr "Deprecated - will be removed"))
|
||||
(lib (name Transformers_THT)(type Github)(uri ${KIGITHUB}/Transformers_THT.pretty)(options "")(descr "Through hole transformers"))
|
||||
(lib (name Transistors_OldSowjetAera)(type Github)(uri ${KIGITHUB}/Transistors_OldSowjetAera.pretty)(options "")(descr "Sowjet transistors"))
|
||||
(lib (name Valves)(type Github)(uri ${KIGITHUB}/Valves.pretty)(options "")(descr "Valves"))
|
||||
(lib (name Varistors)(type Github)(uri ${KIGITHUB}/Varistors.pretty)(options "")(descr "Varistors"))
|
||||
(lib (name Wire_Connections_Bridges)(type Github)(uri ${KIGITHUB}/Wire_Connections_Bridges.pretty)(options "")(descr "PCB bridging points"))
|
||||
(lib (name Wire_Pads)(type Github)(uri ${KIGITHUB}/Wire_Pads.pretty)(options "")(descr "Direct wire-to-board connection points"))
|
||||
)
|
||||
34
samples/KiCad Layout/kivicad.kicad_wks
Normal file
34
samples/KiCad Layout/kivicad.kicad_wks
Normal file
@@ -0,0 +1,34 @@
|
||||
( page_layout
|
||||
( setup (textsize 1.5 1.5) (linewidth 0.15) (textlinewidth 0.15) )
|
||||
( rect (comment "rect around the title block") (linewidth 0.15) (start 110 34) (end 2 2) )
|
||||
( rect (start 0 0 ltcorner) (end 0 0 rbcorner) (repeat 2) (incrx 2) (incry 2) )
|
||||
( line (start 50 2 ltcorner) (end 50 0 ltcorner) (repeat 30) (incrx 50) )
|
||||
( tbtext "1" (pos 25 1 ltcorner) (font (size 1.3 1.3))(repeat 100) (incrx 50) )
|
||||
( line (start 50 2 lbcorner) (end 50 0 lbcorner) (repeat 30) (incrx 50) )
|
||||
( tbtext "1" (pos 25 1 lbcorner) (font (size 1.3 1.3)) (repeat 100) (incrx 50) )
|
||||
( line (start 0 50 ltcorner) (end 2 50 ltcorner) (repeat 30) (incry 50) )
|
||||
( tbtext "A" (pos 1 25 ltcorner) (font (size 1.3 1.3))
|
||||
(justify center)(repeat 100) (incry 50) )
|
||||
( line (start 0 50 rtcorner) (end 2 50 rtcorner) (repeat 30) (incry 50) )
|
||||
( tbtext "A" (pos 1 25 rtcorner) (font (size 1.3 1.3))
|
||||
(justify center) (repeat 100) (incry 50) )
|
||||
( tbtext "Date: %D" (pos 87 6.9) )
|
||||
( line (start 110 5.5) (end 2 5.5) )
|
||||
( tbtext "%K" (pos 109 4.1) (comment "Kicad version" ) )
|
||||
( line (start 110 8.5) (end 2 8.5) )
|
||||
( tbtext "Rev: %R" (pos 24 6.9)(font bold)(justify left) )
|
||||
( tbtext "Size: %Z" (comment "Paper format name")(pos 109 6.9) )
|
||||
( tbtext "Id: %S/%N" (comment "Sheet id")(pos 24 4.1) )
|
||||
( line (start 110 12.5) (end 2 12.5) )
|
||||
( tbtext "Title: %T" (pos 109 10.7)(font bold (size 2 2)) )
|
||||
( tbtext "File: %F" (pos 109 14.3) )
|
||||
( line (start 110 18.5) (end 2 18.5) )
|
||||
( tbtext "Sheet: %P" (pos 109 17) )
|
||||
( tbtext "%Y" (comment "Company name") (pos 109 20)(font bold) )
|
||||
( tbtext "%C0" (comment "Comment 0") (pos 109 23) )
|
||||
( tbtext "%C1" (comment "Comment 1") (pos 109 26) )
|
||||
( tbtext "%C2" (comment "Comment 2") (pos 109 29) )
|
||||
( tbtext "%C3" (comment "Comment 3") (pos 109 32) )
|
||||
( line (start 90 8.5) (end 90 5.5) )
|
||||
( line (start 26 8.5) (end 26 2) )
|
||||
)
|
||||
2567
samples/KiCad Layout/simonShield.kicad_pcb
Normal file
2567
samples/KiCad Layout/simonShield.kicad_pcb
Normal file
File diff suppressed because it is too large
Load Diff
519
samples/KiCad Schematic/buttons.sch
Normal file
519
samples/KiCad Schematic/buttons.sch
Normal file
@@ -0,0 +1,519 @@
|
||||
EESchema Schematic File Version 2
|
||||
LIBS:simonLib
|
||||
LIBS:power
|
||||
LIBS:simonShield-cache
|
||||
EELAYER 25 0
|
||||
EELAYER END
|
||||
$Descr A4 11693 8268
|
||||
encoding utf-8
|
||||
Sheet 2 4
|
||||
Title "Poncho Simon EDU-CIAA"
|
||||
Date "2016-07-26"
|
||||
Rev "1.0"
|
||||
Comp "Proyecto CIAA"
|
||||
Comment1 "Juan Agustin Bassi"
|
||||
Comment2 "CESE - Diseño PCB"
|
||||
Comment3 "Licencia BSD"
|
||||
Comment4 ""
|
||||
$EndDescr
|
||||
$Comp
|
||||
L SW_PUSH SW1
|
||||
U 1 1 5777DBBB
|
||||
P 3500 3000
|
||||
F 0 "SW1" H 3650 3110 50 0000 C CNN
|
||||
F 1 "SW_PUSH" H 3500 2920 50 0000 C CNN
|
||||
F 2 "simonShield:SW_PUSH_SMALL" H 3500 3000 50 0001 C CNN
|
||||
F 3 "" H 3500 3000 50 0000 C CNN
|
||||
F 4 "450-1804-ND" H 3500 3000 60 0001 C CNN "Digikey#"
|
||||
1 3500 3000
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R1
|
||||
U 1 1 5777DBC2
|
||||
P 3150 2750
|
||||
F 0 "R1" V 3230 2750 50 0000 C CNN
|
||||
F 1 "3K3" V 3150 2750 50 0000 C CNN
|
||||
F 2 "simonShield:Resistor_Horizontal_RM7mm" V 3080 2750 50 0001 C CNN
|
||||
F 3 "" H 3150 2750 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 3150 2750 60 0001 C CNN "Digikey#"
|
||||
1 3150 2750
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR05
|
||||
U 1 1 5777DBC9
|
||||
P 3900 3100
|
||||
F 0 "#PWR05" H 3900 2850 50 0001 C CNN
|
||||
F 1 "GND" H 3900 2950 50 0000 C CNN
|
||||
F 2 "" H 3900 3100 50 0000 C CNN
|
||||
F 3 "" H 3900 3100 50 0000 C CNN
|
||||
1 3900 3100
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
3150 2450 3150 2600
|
||||
Wire Wire Line
|
||||
3150 2900 3150 3000
|
||||
Wire Wire Line
|
||||
3800 3000 3900 3000
|
||||
Wire Wire Line
|
||||
3900 3000 3900 3100
|
||||
Connection ~ 3150 3000
|
||||
$Comp
|
||||
L SW_PUSH SW3
|
||||
U 1 1 5777DBDD
|
||||
P 5050 3000
|
||||
F 0 "SW3" H 5200 3110 50 0000 C CNN
|
||||
F 1 "SW_PUSH" H 5050 2920 50 0000 C CNN
|
||||
F 2 "simonShield:SW_PUSH_SMALL" H 5050 3000 50 0001 C CNN
|
||||
F 3 "" H 5050 3000 50 0000 C CNN
|
||||
F 4 "450-1804-ND" H 5050 3000 60 0001 C CNN "Digikey#"
|
||||
1 5050 3000
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR06
|
||||
U 1 1 5777DBEB
|
||||
P 5450 3100
|
||||
F 0 "#PWR06" H 5450 2850 50 0001 C CNN
|
||||
F 1 "GND" H 5450 2950 50 0000 C CNN
|
||||
F 2 "" H 5450 3100 50 0000 C CNN
|
||||
F 3 "" H 5450 3100 50 0000 C CNN
|
||||
1 5450 3100
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
4700 2450 4700 2600
|
||||
Wire Wire Line
|
||||
4700 2900 4700 3000
|
||||
Wire Wire Line
|
||||
5350 3000 5450 3000
|
||||
Wire Wire Line
|
||||
5450 3000 5450 3100
|
||||
Connection ~ 4700 3000
|
||||
$Comp
|
||||
L SW_PUSH SW5
|
||||
U 1 1 5777DBFF
|
||||
P 6600 3000
|
||||
F 0 "SW5" H 6750 3110 50 0000 C CNN
|
||||
F 1 "SW_PUSH" H 6600 2920 50 0000 C CNN
|
||||
F 2 "simonShield:SW_PUSH_SMALL" H 6600 3000 50 0001 C CNN
|
||||
F 3 "" H 6600 3000 50 0000 C CNN
|
||||
F 4 "450-1804-ND" H 6600 3000 60 0001 C CNN "Digikey#"
|
||||
1 6600 3000
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR07
|
||||
U 1 1 5777DC0D
|
||||
P 7000 3100
|
||||
F 0 "#PWR07" H 7000 2850 50 0001 C CNN
|
||||
F 1 "GND" H 7000 2950 50 0000 C CNN
|
||||
F 2 "" H 7000 3100 50 0000 C CNN
|
||||
F 3 "" H 7000 3100 50 0000 C CNN
|
||||
1 7000 3100
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
6250 2450 6250 2600
|
||||
Wire Wire Line
|
||||
6250 2900 6250 3000
|
||||
Wire Wire Line
|
||||
6900 3000 7000 3000
|
||||
Wire Wire Line
|
||||
7000 3000 7000 3100
|
||||
Connection ~ 6250 3000
|
||||
$Comp
|
||||
L SW_PUSH SW7
|
||||
U 1 1 5777DC21
|
||||
P 8150 3000
|
||||
F 0 "SW7" H 8300 3110 50 0000 C CNN
|
||||
F 1 "SW_PUSH" H 8150 2920 50 0000 C CNN
|
||||
F 2 "simonShield:SW_PUSH_SMALL" H 8150 3000 50 0001 C CNN
|
||||
F 3 "" H 8150 3000 50 0000 C CNN
|
||||
F 4 "450-1804-ND" H 8150 3000 60 0001 C CNN "Digikey#"
|
||||
1 8150 3000
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR08
|
||||
U 1 1 5777DC2F
|
||||
P 8550 3100
|
||||
F 0 "#PWR08" H 8550 2850 50 0001 C CNN
|
||||
F 1 "GND" H 8550 2950 50 0000 C CNN
|
||||
F 2 "" H 8550 3100 50 0000 C CNN
|
||||
F 3 "" H 8550 3100 50 0000 C CNN
|
||||
1 8550 3100
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
7800 2450 7800 2600
|
||||
Wire Wire Line
|
||||
7800 2900 7800 3000
|
||||
Wire Wire Line
|
||||
8450 3000 8550 3000
|
||||
Wire Wire Line
|
||||
8550 3000 8550 3100
|
||||
Connection ~ 7800 3000
|
||||
$Comp
|
||||
L SW_PUSH SW2
|
||||
U 1 1 5777DC43
|
||||
P 3550 4350
|
||||
F 0 "SW2" H 3700 4460 50 0000 C CNN
|
||||
F 1 "SW_PUSH" H 3550 4270 50 0000 C CNN
|
||||
F 2 "simonShield:SW_PUSH_SMALL" H 3550 4350 50 0001 C CNN
|
||||
F 3 "" H 3550 4350 50 0000 C CNN
|
||||
F 4 "450-1804-ND" H 3550 4350 60 0001 C CNN "Digikey#"
|
||||
1 3550 4350
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR09
|
||||
U 1 1 5777DC51
|
||||
P 3950 4450
|
||||
F 0 "#PWR09" H 3950 4200 50 0001 C CNN
|
||||
F 1 "GND" H 3950 4300 50 0000 C CNN
|
||||
F 2 "" H 3950 4450 50 0000 C CNN
|
||||
F 3 "" H 3950 4450 50 0000 C CNN
|
||||
1 3950 4450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
3200 3800 3200 3950
|
||||
Wire Wire Line
|
||||
3200 4250 3200 4350
|
||||
Wire Wire Line
|
||||
3850 4350 3950 4350
|
||||
Wire Wire Line
|
||||
3950 4350 3950 4450
|
||||
Connection ~ 3200 4350
|
||||
$Comp
|
||||
L SW_PUSH SW4
|
||||
U 1 1 5777DC65
|
||||
P 5100 4350
|
||||
F 0 "SW4" H 5250 4460 50 0000 C CNN
|
||||
F 1 "SW_PUSH" H 5100 4270 50 0000 C CNN
|
||||
F 2 "simonShield:SW_PUSH_SMALL" H 5100 4350 50 0001 C CNN
|
||||
F 3 "" H 5100 4350 50 0000 C CNN
|
||||
F 4 "450-1804-ND" H 5100 4350 60 0001 C CNN "Digikey#"
|
||||
1 5100 4350
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR010
|
||||
U 1 1 5777DC73
|
||||
P 5500 4450
|
||||
F 0 "#PWR010" H 5500 4200 50 0001 C CNN
|
||||
F 1 "GND" H 5500 4300 50 0000 C CNN
|
||||
F 2 "" H 5500 4450 50 0000 C CNN
|
||||
F 3 "" H 5500 4450 50 0000 C CNN
|
||||
1 5500 4450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
4750 4250 4750 4350
|
||||
Wire Wire Line
|
||||
5400 4350 5500 4350
|
||||
Wire Wire Line
|
||||
5500 4350 5500 4450
|
||||
Connection ~ 4750 4350
|
||||
$Comp
|
||||
L SW_PUSH SW6
|
||||
U 1 1 5777DC87
|
||||
P 6650 4350
|
||||
F 0 "SW6" H 6800 4460 50 0000 C CNN
|
||||
F 1 "SW_PUSH" H 6650 4270 50 0000 C CNN
|
||||
F 2 "simonShield:SW_PUSH_SMALL" H 6650 4350 50 0001 C CNN
|
||||
F 3 "" H 6650 4350 50 0000 C CNN
|
||||
F 4 "450-1804-ND" H 6650 4350 60 0001 C CNN "Digikey#"
|
||||
1 6650 4350
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR011
|
||||
U 1 1 5777DC95
|
||||
P 7050 4450
|
||||
F 0 "#PWR011" H 7050 4200 50 0001 C CNN
|
||||
F 1 "GND" H 7050 4300 50 0000 C CNN
|
||||
F 2 "" H 7050 4450 50 0000 C CNN
|
||||
F 3 "" H 7050 4450 50 0000 C CNN
|
||||
1 7050 4450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
6300 3800 6300 3950
|
||||
Wire Wire Line
|
||||
6300 4250 6300 4350
|
||||
Wire Wire Line
|
||||
6950 4350 7050 4350
|
||||
Wire Wire Line
|
||||
7050 4350 7050 4450
|
||||
Connection ~ 6300 4350
|
||||
$Comp
|
||||
L SW_PUSH SW8
|
||||
U 1 1 5777DCA9
|
||||
P 8200 4350
|
||||
F 0 "SW8" H 8350 4460 50 0000 C CNN
|
||||
F 1 "SW_PUSH" H 8200 4270 50 0000 C CNN
|
||||
F 2 "simonShield:SW_PUSH_SMALL" H 8200 4350 50 0001 C CNN
|
||||
F 3 "" H 8200 4350 50 0000 C CNN
|
||||
F 4 "450-1804-ND" H 8200 4350 60 0001 C CNN "Digikey#"
|
||||
1 8200 4350
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR012
|
||||
U 1 1 5777DCB7
|
||||
P 8600 4450
|
||||
F 0 "#PWR012" H 8600 4200 50 0001 C CNN
|
||||
F 1 "GND" H 8600 4300 50 0000 C CNN
|
||||
F 2 "" H 8600 4450 50 0000 C CNN
|
||||
F 3 "" H 8600 4450 50 0000 C CNN
|
||||
1 8600 4450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
7850 3800 7850 3950
|
||||
Wire Wire Line
|
||||
7850 4250 7850 4350
|
||||
Wire Wire Line
|
||||
8500 4350 8600 4350
|
||||
Wire Wire Line
|
||||
8600 4350 8600 4450
|
||||
Connection ~ 7850 4350
|
||||
Wire Notes Line
|
||||
2400 1850 2400 4700
|
||||
Wire Notes Line
|
||||
2400 4700 8800 4700
|
||||
Wire Notes Line
|
||||
8800 4700 8800 1850
|
||||
Wire Notes Line
|
||||
8800 2150 2400 2150
|
||||
Text HLabel 2950 2800 0 60 Input ~ 0
|
||||
BTN_LED_1
|
||||
Wire Wire Line
|
||||
2950 3000 3200 3000
|
||||
Wire Wire Line
|
||||
2950 3000 2950 2800
|
||||
Text HLabel 4500 2800 0 60 Input ~ 0
|
||||
BTN_LED_2
|
||||
Text HLabel 6050 2800 0 60 Input ~ 0
|
||||
BTN_LED_3
|
||||
Text HLabel 7600 2800 0 60 Input ~ 0
|
||||
BTN_LED_4
|
||||
Wire Wire Line
|
||||
4500 3000 4750 3000
|
||||
Wire Wire Line
|
||||
4500 3000 4500 2800
|
||||
Wire Wire Line
|
||||
6050 3000 6300 3000
|
||||
Wire Wire Line
|
||||
6050 3000 6050 2800
|
||||
Wire Wire Line
|
||||
7600 3000 7850 3000
|
||||
Wire Wire Line
|
||||
7600 3000 7600 2800
|
||||
Text HLabel 3000 4150 0 60 Input ~ 0
|
||||
BTN_CFG_1
|
||||
Wire Wire Line
|
||||
3000 4350 3250 4350
|
||||
Wire Wire Line
|
||||
3000 4350 3000 4150
|
||||
Text HLabel 4550 4150 0 60 Input ~ 0
|
||||
BTN_CFG_2
|
||||
Text HLabel 6100 4150 0 60 Input ~ 0
|
||||
BTN_CFG_3
|
||||
Text HLabel 7650 4150 0 60 Input ~ 0
|
||||
BTN_CFG_4
|
||||
Wire Wire Line
|
||||
4550 4150 4550 4350
|
||||
Wire Wire Line
|
||||
4550 4350 4800 4350
|
||||
Wire Wire Line
|
||||
6100 4150 6100 4350
|
||||
Wire Wire Line
|
||||
6100 4350 6350 4350
|
||||
Wire Wire Line
|
||||
7650 4150 7650 4350
|
||||
Wire Wire Line
|
||||
7650 4350 7900 4350
|
||||
$Comp
|
||||
L R R3
|
||||
U 1 1 577967E7
|
||||
P 4700 2750
|
||||
F 0 "R3" V 4780 2750 50 0000 C CNN
|
||||
F 1 "3K3" V 4700 2750 50 0000 C CNN
|
||||
F 2 "simonShield:Resistor_Horizontal_RM7mm" V 4630 2750 50 0001 C CNN
|
||||
F 3 "" H 4700 2750 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 4700 2750 60 0001 C CNN "Digikey#"
|
||||
1 4700 2750
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R5
|
||||
U 1 1 57796847
|
||||
P 6250 2750
|
||||
F 0 "R5" V 6330 2750 50 0000 C CNN
|
||||
F 1 "3K3" V 6250 2750 50 0000 C CNN
|
||||
F 2 "simonShield:Resistor_Horizontal_RM7mm" V 6180 2750 50 0001 C CNN
|
||||
F 3 "" H 6250 2750 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 6250 2750 60 0001 C CNN "Digikey#"
|
||||
1 6250 2750
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R7
|
||||
U 1 1 577968BC
|
||||
P 7800 2750
|
||||
F 0 "R7" V 7880 2750 50 0000 C CNN
|
||||
F 1 "3K3" V 7800 2750 50 0000 C CNN
|
||||
F 2 "simonShield:Resistor_Horizontal_RM7mm" V 7730 2750 50 0001 C CNN
|
||||
F 3 "" H 7800 2750 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 7800 2750 60 0001 C CNN "Digikey#"
|
||||
1 7800 2750
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R2
|
||||
U 1 1 5779693E
|
||||
P 3200 4100
|
||||
F 0 "R2" V 3280 4100 50 0000 C CNN
|
||||
F 1 "3K3" V 3200 4100 50 0000 C CNN
|
||||
F 2 "simonShield:Resistor_Horizontal_RM7mm" V 3130 4100 50 0001 C CNN
|
||||
F 3 "" H 3200 4100 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 3200 4100 60 0001 C CNN "Digikey#"
|
||||
1 3200 4100
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R4
|
||||
U 1 1 577969F3
|
||||
P 4750 4100
|
||||
F 0 "R4" V 4830 4100 50 0000 C CNN
|
||||
F 1 "3K3" V 4750 4100 50 0000 C CNN
|
||||
F 2 "simonShield:Resistor_Horizontal_RM7mm" V 4680 4100 50 0001 C CNN
|
||||
F 3 "" H 4750 4100 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 4750 4100 60 0001 C CNN "Digikey#"
|
||||
1 4750 4100
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R6
|
||||
U 1 1 57796A6F
|
||||
P 6300 4100
|
||||
F 0 "R6" V 6380 4100 50 0000 C CNN
|
||||
F 1 "3K3" V 6300 4100 50 0000 C CNN
|
||||
F 2 "simonShield:Resistor_Horizontal_RM7mm" V 6230 4100 50 0001 C CNN
|
||||
F 3 "" H 6300 4100 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 6300 4100 60 0001 C CNN "Digikey#"
|
||||
1 6300 4100
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R8
|
||||
U 1 1 57796AEC
|
||||
P 7850 4100
|
||||
F 0 "R8" V 7930 4100 50 0000 C CNN
|
||||
F 1 "3K3" V 7850 4100 50 0000 C CNN
|
||||
F 2 "simonShield:Resistor_Horizontal_RM7mm" V 7780 4100 50 0001 C CNN
|
||||
F 3 "" H 7850 4100 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 7850 4100 60 0001 C CNN "Digikey#"
|
||||
1 7850 4100
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
Text Notes 5400 2050 0 60 ~ 12
|
||||
BUTTONS\n
|
||||
Wire Notes Line
|
||||
8800 1850 2400 1850
|
||||
Wire Wire Line
|
||||
4750 3950 4750 3800
|
||||
$Comp
|
||||
L VCC #PWR013
|
||||
U 1 1 5798AF98
|
||||
P 4750 3800
|
||||
F 0 "#PWR013" H 4750 3650 50 0001 C CNN
|
||||
F 1 "VCC" H 4750 3950 50 0000 C CNN
|
||||
F 2 "" H 4750 3800 50 0000 C CNN
|
||||
F 3 "" H 4750 3800 50 0000 C CNN
|
||||
1 4750 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VCC #PWR014
|
||||
U 1 1 5798B8B6
|
||||
P 3200 3800
|
||||
F 0 "#PWR014" H 3200 3650 50 0001 C CNN
|
||||
F 1 "VCC" H 3200 3950 50 0000 C CNN
|
||||
F 2 "" H 3200 3800 50 0000 C CNN
|
||||
F 3 "" H 3200 3800 50 0000 C CNN
|
||||
1 3200 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VCC #PWR015
|
||||
U 1 1 5798B8F1
|
||||
P 6300 3800
|
||||
F 0 "#PWR015" H 6300 3650 50 0001 C CNN
|
||||
F 1 "VCC" H 6300 3950 50 0000 C CNN
|
||||
F 2 "" H 6300 3800 50 0000 C CNN
|
||||
F 3 "" H 6300 3800 50 0000 C CNN
|
||||
1 6300 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VCC #PWR016
|
||||
U 1 1 5798B9EC
|
||||
P 7850 3800
|
||||
F 0 "#PWR016" H 7850 3650 50 0001 C CNN
|
||||
F 1 "VCC" H 7850 3950 50 0000 C CNN
|
||||
F 2 "" H 7850 3800 50 0000 C CNN
|
||||
F 3 "" H 7850 3800 50 0000 C CNN
|
||||
1 7850 3800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VCC #PWR017
|
||||
U 1 1 5798BB07
|
||||
P 7800 2450
|
||||
F 0 "#PWR017" H 7800 2300 50 0001 C CNN
|
||||
F 1 "VCC" H 7800 2600 50 0000 C CNN
|
||||
F 2 "" H 7800 2450 50 0000 C CNN
|
||||
F 3 "" H 7800 2450 50 0000 C CNN
|
||||
1 7800 2450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VCC #PWR018
|
||||
U 1 1 5798BB42
|
||||
P 6250 2450
|
||||
F 0 "#PWR018" H 6250 2300 50 0001 C CNN
|
||||
F 1 "VCC" H 6250 2600 50 0000 C CNN
|
||||
F 2 "" H 6250 2450 50 0000 C CNN
|
||||
F 3 "" H 6250 2450 50 0000 C CNN
|
||||
1 6250 2450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VCC #PWR019
|
||||
U 1 1 5798BB7D
|
||||
P 4700 2450
|
||||
F 0 "#PWR019" H 4700 2300 50 0001 C CNN
|
||||
F 1 "VCC" H 4700 2600 50 0000 C CNN
|
||||
F 2 "" H 4700 2450 50 0000 C CNN
|
||||
F 3 "" H 4700 2450 50 0000 C CNN
|
||||
1 4700 2450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VCC #PWR020
|
||||
U 1 1 5798BBB8
|
||||
P 3150 2450
|
||||
F 0 "#PWR020" H 3150 2300 50 0001 C CNN
|
||||
F 1 "VCC" H 3150 2600 50 0000 C CNN
|
||||
F 2 "" H 3150 2450 50 0000 C CNN
|
||||
F 3 "" H 3150 2450 50 0000 C CNN
|
||||
1 3150 2450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$EndSCHEMATC
|
||||
195
samples/KiCad Schematic/buzzer.sch
Normal file
195
samples/KiCad Schematic/buzzer.sch
Normal file
@@ -0,0 +1,195 @@
|
||||
EESchema Schematic File Version 2
|
||||
LIBS:simonShield-rescue
|
||||
LIBS:simonLib
|
||||
LIBS:74xgxx
|
||||
LIBS:74xx
|
||||
LIBS:ac-dc
|
||||
LIBS:actel
|
||||
LIBS:adc-dac
|
||||
LIBS:Altera
|
||||
LIBS:analog_devices
|
||||
LIBS:analog_switches
|
||||
LIBS:atmel
|
||||
LIBS:audio
|
||||
LIBS:brooktre
|
||||
LIBS:cmos4000
|
||||
LIBS:cmos_ieee
|
||||
LIBS:conn
|
||||
LIBS:contrib
|
||||
LIBS:cypress
|
||||
LIBS:dc-dc
|
||||
LIBS:device
|
||||
LIBS:digital-audio
|
||||
LIBS:diode
|
||||
LIBS:display
|
||||
LIBS:dsp
|
||||
LIBS:elec-unifil
|
||||
LIBS:ESD_Protection
|
||||
LIBS:ftdi
|
||||
LIBS:gennum
|
||||
LIBS:graphic
|
||||
LIBS:hc11
|
||||
LIBS:intel
|
||||
LIBS:interface
|
||||
LIBS:ir
|
||||
LIBS:Lattice
|
||||
LIBS:linear
|
||||
LIBS:logo
|
||||
LIBS:maxim
|
||||
LIBS:memory
|
||||
LIBS:microchip
|
||||
LIBS:microchip_dspic33dsc
|
||||
LIBS:microchip_pic10mcu
|
||||
LIBS:microchip_pic12mcu
|
||||
LIBS:microchip_pic16mcu
|
||||
LIBS:microchip_pic18mcu
|
||||
LIBS:microchip_pic32mcu
|
||||
LIBS:microcontrollers
|
||||
LIBS:motor_drivers
|
||||
LIBS:motorola
|
||||
LIBS:msp430
|
||||
LIBS:nordicsemi
|
||||
LIBS:nxp_armmcu
|
||||
LIBS:onsemi
|
||||
LIBS:opto
|
||||
LIBS:Oscillators
|
||||
LIBS:philips
|
||||
LIBS:power
|
||||
LIBS:powerint
|
||||
LIBS:Power_Management
|
||||
LIBS:pspice
|
||||
LIBS:references
|
||||
LIBS:regul
|
||||
LIBS:relays
|
||||
LIBS:rfcom
|
||||
LIBS:sensors
|
||||
LIBS:silabs
|
||||
LIBS:siliconi
|
||||
LIBS:stm8
|
||||
LIBS:stm32
|
||||
LIBS:supertex
|
||||
LIBS:switches
|
||||
LIBS:texas
|
||||
LIBS:transf
|
||||
LIBS:transistors
|
||||
LIBS:ttl_ieee
|
||||
LIBS:valves
|
||||
LIBS:video
|
||||
LIBS:Worldsemi
|
||||
LIBS:Xicor
|
||||
LIBS:xilinx
|
||||
LIBS:Zilog
|
||||
LIBS:simonShield-cache
|
||||
EELAYER 25 0
|
||||
EELAYER END
|
||||
$Descr A4 11693 8268
|
||||
encoding utf-8
|
||||
Sheet 3 5
|
||||
Title "Poncho Simon EDU-CIAA"
|
||||
Date "2016-07-26"
|
||||
Rev "1.0"
|
||||
Comp "Proyecto CIAA"
|
||||
Comment1 "Juan Agustin Bassi"
|
||||
Comment2 "CESE - Diseño PCB"
|
||||
Comment3 "Licencia BSD"
|
||||
Comment4 ""
|
||||
$EndDescr
|
||||
$Comp
|
||||
L BUZZER U1
|
||||
U 1 1 5777FCBE
|
||||
P 5600 4150
|
||||
F 0 "U1" H 5600 4150 60 0000 C CNN
|
||||
F 1 "BUZZER" H 5600 4150 60 0000 C CNN
|
||||
F 2 "footprints:MagneticBuzzer_ProSignal_ABT-410-RC" H 5600 4150 60 0001 C CNN
|
||||
F 3 "" H 5600 4150 60 0000 C CNN
|
||||
F 4 "445-2525-1-ND" H 5600 4150 60 0001 C CNN "Digikey#"
|
||||
1 5600 4150
|
||||
0 1 1 0
|
||||
$EndComp
|
||||
$Comp
|
||||
L BC547 Q1
|
||||
U 1 1 5777FCC6
|
||||
P 5500 3350
|
||||
F 0 "Q1" H 5700 3425 50 0000 L CNN
|
||||
F 1 "BC547" H 5700 3350 50 0000 L CNN
|
||||
F 2 "simonShield:TO-92_Molded_Narrow" H 5700 3275 50 0000 L CIN
|
||||
F 3 "" H 5500 3350 50 0000 L CNN
|
||||
F 4 "BC33725TACT-ND" H 5500 3350 60 0001 C CNN "Digikey#"
|
||||
1 5500 3350
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L R R9
|
||||
U 1 1 5777FCCD
|
||||
P 5050 3350
|
||||
F 0 "R9" V 5130 3350 50 0000 C CNN
|
||||
F 1 "3K3" V 5050 3350 50 0000 C CNN
|
||||
F 2 "footprints:Resistor_Horizontal_RM7mm" V 4980 3350 50 0001 C CNN
|
||||
F 3 "" H 5050 3350 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 5050 3350 60 0001 C CNN "Digikey#"
|
||||
1 5050 3350
|
||||
0 1 1 0
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR017
|
||||
U 1 1 5777FCDA
|
||||
P 5600 4850
|
||||
F 0 "#PWR017" H 5600 4600 50 0001 C CNN
|
||||
F 1 "GND" H 5600 4700 50 0000 C CNN
|
||||
F 2 "" H 5600 4850 50 0000 C CNN
|
||||
F 3 "" H 5600 4850 50 0000 C CNN
|
||||
1 5600 4850
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
5600 2600 5600 3150
|
||||
Wire Wire Line
|
||||
5600 3550 5600 3700
|
||||
Wire Wire Line
|
||||
5600 4700 5600 4850
|
||||
Wire Wire Line
|
||||
5200 3350 5300 3350
|
||||
Text HLabel 4700 3050 0 60 Input ~ 0
|
||||
PWM
|
||||
Wire Wire Line
|
||||
4700 3050 4700 3350
|
||||
Wire Wire Line
|
||||
4700 3350 4900 3350
|
||||
$Comp
|
||||
L R R10
|
||||
U 1 1 577960FD
|
||||
P 5600 2450
|
||||
F 0 "R10" V 5680 2450 50 0000 C CNN
|
||||
F 1 "1K" H 5600 2450 50 0000 C CNN
|
||||
F 2 "footprints:Resistor_Horizontal_RM7mm" V 5530 2450 50 0001 C CNN
|
||||
F 3 "" H 5600 2450 50 0000 C CNN
|
||||
F 4 "680EBK-ND" H 5600 2450 60 0001 C CNN "Digikey#"
|
||||
1 5600 2450
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
5600 2100 5600 2300
|
||||
Wire Notes Line
|
||||
3800 1000 3800 5450
|
||||
Wire Notes Line
|
||||
3800 5450 7650 5450
|
||||
Wire Notes Line
|
||||
7650 5450 7650 1000
|
||||
Wire Notes Line
|
||||
7650 1350 3800 1350
|
||||
Wire Notes Line
|
||||
7650 1000 3800 1000
|
||||
Text Notes 5350 1250 0 60 ~ 12
|
||||
BUZZER CIRCUIT
|
||||
$Comp
|
||||
L VDD-RESCUE-simonShield #PWR018
|
||||
U 1 1 5777FCD4
|
||||
P 5600 2100
|
||||
F 0 "#PWR018" H 5600 1950 50 0001 C CNN
|
||||
F 1 "VDD" H 5600 2250 50 0000 C CNN
|
||||
F 2 "" H 5600 2100 50 0000 C CNN
|
||||
F 3 "" H 5600 2100 50 0000 C CNN
|
||||
1 5600 2100
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$EndSCHEMATC
|
||||
260
samples/KiCad Schematic/ciaaConector.sch
Normal file
260
samples/KiCad Schematic/ciaaConector.sch
Normal file
@@ -0,0 +1,260 @@
|
||||
EESchema Schematic File Version 2
|
||||
LIBS:simonLib
|
||||
LIBS:power
|
||||
LIBS:simonShield-cache
|
||||
EELAYER 25 0
|
||||
EELAYER END
|
||||
$Descr A4 11693 8268
|
||||
encoding utf-8
|
||||
Sheet 4 4
|
||||
Title "Poncho Simon EDU-CIAA"
|
||||
Date "2016-07-26"
|
||||
Rev "1.0"
|
||||
Comp "Proyecto CIAA"
|
||||
Comment1 "Juan Agustin Bassi"
|
||||
Comment2 "CESE - Diseño PCB"
|
||||
Comment3 "Licencia BSD"
|
||||
Comment4 ""
|
||||
$EndDescr
|
||||
$Comp
|
||||
L GND #PWR029
|
||||
U 1 1 57781CE9
|
||||
P 3200 3000
|
||||
F 0 "#PWR029" H 3200 2750 50 0001 C CNN
|
||||
F 1 "GND" H 3200 2850 50 0000 C CNN
|
||||
F 2 "" H 3200 3000 50 0000 C CNN
|
||||
F 3 "" H 3200 3000 50 0000 C CNN
|
||||
1 3200 3000
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L Conn_Poncho2P_2x_20x2 XA?
|
||||
U 2 1 57781CEF
|
||||
P 3900 3050
|
||||
AR Path="/57781CEF" Ref="XA?" Part="2"
|
||||
AR Path="/57781B52/57781CEF" Ref="XA1" Part="2"
|
||||
F 0 "XA1" H 4200 3450 60 0000 C CNN
|
||||
F 1 "Conn_Poncho2P_2x_20x2" H 4250 1350 60 0000 C CNN
|
||||
F 2 "simonShield:Conn_Poncho_SinBorde" H 3900 3050 60 0001 C CNN
|
||||
F 3 "" H 3900 3050 60 0000 C CNN
|
||||
F 4 "952-2121-ND" H 3900 3050 60 0001 C CNN "Digikey#"
|
||||
2 3900 3050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L PWR_JUMPER P1
|
||||
U 1 1 57781CF6
|
||||
P 4250 2250
|
||||
F 0 "P1" H 4250 2400 50 0000 C CNN
|
||||
F 1 "PWR_JUMPER" H 4250 2100 50 0000 C CNN
|
||||
F 2 "simonShield:Pin_Header_Straight_2x02" H 4250 1050 50 0001 C CNN
|
||||
F 3 "" H 4250 1050 50 0000 C CNN
|
||||
F 4 "952-2121-ND" H 4250 2250 60 0001 C CNN "Digikey#"
|
||||
1 4250 2250
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
NoConn ~ 4850 2850
|
||||
NoConn ~ 4850 2950
|
||||
NoConn ~ 4850 3050
|
||||
NoConn ~ 4850 3150
|
||||
NoConn ~ 4850 3250
|
||||
NoConn ~ 4850 3350
|
||||
NoConn ~ 4850 3450
|
||||
NoConn ~ 3650 4050
|
||||
NoConn ~ 3650 3950
|
||||
NoConn ~ 3650 3850
|
||||
NoConn ~ 3650 3750
|
||||
NoConn ~ 3650 3650
|
||||
NoConn ~ 3650 3550
|
||||
NoConn ~ 3650 3450
|
||||
NoConn ~ 3650 3350
|
||||
NoConn ~ 3650 3250
|
||||
NoConn ~ 3650 3050
|
||||
NoConn ~ 3650 2950
|
||||
Text HLabel 4850 3750 2 60 Input ~ 0
|
||||
BTN_CFG_1
|
||||
Text HLabel 4850 3850 2 60 Input ~ 0
|
||||
BTN_CFG_2
|
||||
Text HLabel 4850 4450 2 60 Input ~ 0
|
||||
BTN_CFG_3
|
||||
Text HLabel 4850 4650 2 60 Input ~ 0
|
||||
BTN_CFG_4
|
||||
Text HLabel 3650 4350 0 60 Input ~ 0
|
||||
LED_4
|
||||
Text HLabel 4850 4350 2 60 Input ~ 0
|
||||
LED_3
|
||||
Text HLabel 4850 4050 2 60 Input ~ 0
|
||||
LED_2
|
||||
Text HLabel 4850 3550 2 60 Input ~ 0
|
||||
LED_1
|
||||
Text HLabel 3650 4450 0 60 Input ~ 0
|
||||
BTN_LED_4
|
||||
Text HLabel 4850 4550 2 60 Input ~ 0
|
||||
BTN_LED_3
|
||||
Text HLabel 4850 3950 2 60 Input ~ 0
|
||||
BTN_LED_2
|
||||
Text HLabel 4850 3650 2 60 Input ~ 0
|
||||
BTN_LED_1
|
||||
Text HLabel 3650 3150 0 60 Input ~ 0
|
||||
PWM
|
||||
$Comp
|
||||
L Conn_Poncho2P_2x_20x2 XA1
|
||||
U 1 1 577946F6
|
||||
P 7400 3000
|
||||
F 0 "XA1" H 7700 3400 60 0000 C CNN
|
||||
F 1 "Conn_Poncho2P_2x_20x2" H 7750 1300 60 0000 C CNN
|
||||
F 2 "simonShield:Conn_Poncho_SinBorde" H 7400 3000 60 0001 C CNN
|
||||
F 3 "" H 7400 3000 60 0000 C CNN
|
||||
F 4 "952-2121-ND" H 7400 3000 60 0001 C CNN "Digikey#"
|
||||
1 7400 3000
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
NoConn ~ 7150 2700
|
||||
NoConn ~ 7150 2800
|
||||
NoConn ~ 7150 2900
|
||||
NoConn ~ 7150 3000
|
||||
NoConn ~ 7150 3100
|
||||
NoConn ~ 7150 3200
|
||||
NoConn ~ 7150 3300
|
||||
NoConn ~ 7150 3400
|
||||
NoConn ~ 7150 3500
|
||||
NoConn ~ 7150 3600
|
||||
NoConn ~ 7150 3700
|
||||
NoConn ~ 7150 3800
|
||||
NoConn ~ 7150 3900
|
||||
NoConn ~ 7150 4000
|
||||
NoConn ~ 7150 4100
|
||||
NoConn ~ 7150 4200
|
||||
NoConn ~ 7150 4300
|
||||
NoConn ~ 7150 4400
|
||||
NoConn ~ 7150 4500
|
||||
NoConn ~ 7150 4600
|
||||
NoConn ~ 8350 4600
|
||||
NoConn ~ 8350 4500
|
||||
NoConn ~ 8350 4400
|
||||
NoConn ~ 8350 4300
|
||||
NoConn ~ 8350 4200
|
||||
NoConn ~ 8350 4100
|
||||
NoConn ~ 8350 4000
|
||||
NoConn ~ 8350 3900
|
||||
NoConn ~ 8350 3800
|
||||
NoConn ~ 8350 3700
|
||||
NoConn ~ 8350 3600
|
||||
NoConn ~ 8350 3500
|
||||
NoConn ~ 8350 3400
|
||||
NoConn ~ 8350 3300
|
||||
NoConn ~ 8350 3200
|
||||
NoConn ~ 8350 3100
|
||||
NoConn ~ 8350 3000
|
||||
NoConn ~ 8350 2900
|
||||
NoConn ~ 8350 2800
|
||||
NoConn ~ 8350 2700
|
||||
Text Notes 5450 1150 0 60 ~ 12
|
||||
EDU-CIAA NXP CONNECTORS
|
||||
Text Notes 4100 1300 0 60 ~ 12
|
||||
P2
|
||||
Text Notes 7700 1300 0 60 ~ 12
|
||||
P1
|
||||
$Comp
|
||||
L GND #PWR030
|
||||
U 1 1 578F601E
|
||||
P 3400 4750
|
||||
F 0 "#PWR030" H 3400 4500 50 0001 C CNN
|
||||
F 1 "GND" H 3400 4600 50 0000 C CNN
|
||||
F 2 "" H 3400 4750 50 0000 C CNN
|
||||
F 3 "" H 3400 4750 50 0000 C CNN
|
||||
1 3400 4750
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L GND #PWR031
|
||||
U 1 1 57781D17
|
||||
P 5150 2900
|
||||
F 0 "#PWR031" H 5150 2650 50 0001 C CNN
|
||||
F 1 "GND" H 5150 2750 50 0000 C CNN
|
||||
F 2 "" H 5150 2900 50 0000 C CNN
|
||||
F 3 "" H 5150 2900 50 0000 C CNN
|
||||
1 5150 2900
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L C_100nF C1
|
||||
U 1 1 57781D10
|
||||
P 5150 2550
|
||||
F 0 "C1" H 5150 2650 40 0000 L CNN
|
||||
F 1 "C_100nF" H 5156 2465 40 0000 L CNN
|
||||
F 2 "simonShield:C_Disc_D3_P2.5" H 5188 2400 30 0001 C CNN
|
||||
F 3 "" H 5150 2550 60 0000 C CNN
|
||||
F 4 "BC1160TRND" H 5150 2550 60 0001 C CNN "Digikey#"
|
||||
1 5150 2550
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L VCC #PWR032
|
||||
U 1 1 5798B140
|
||||
P 4800 2050
|
||||
F 0 "#PWR032" H 4800 1900 50 0001 C CNN
|
||||
F 1 "VCC" H 4800 2200 50 0000 C CNN
|
||||
F 2 "" H 4800 2050 50 0000 C CNN
|
||||
F 3 "" H 4800 2050 50 0000 C CNN
|
||||
1 4800 2050
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
4850 2750 4900 2750
|
||||
Wire Wire Line
|
||||
4900 2750 4900 2500
|
||||
Wire Wire Line
|
||||
4900 2500 3800 2500
|
||||
Wire Wire Line
|
||||
3800 2500 3800 2300
|
||||
Wire Wire Line
|
||||
3800 2300 4000 2300
|
||||
Wire Wire Line
|
||||
3650 2750 3600 2750
|
||||
Wire Wire Line
|
||||
3600 2750 3600 2200
|
||||
Wire Wire Line
|
||||
3600 2200 4000 2200
|
||||
Wire Wire Line
|
||||
3200 2850 3200 3000
|
||||
Wire Wire Line
|
||||
3650 2850 3200 2850
|
||||
Wire Notes Line
|
||||
1950 1050 1950 5450
|
||||
Wire Notes Line
|
||||
1950 5450 9850 5450
|
||||
Wire Notes Line
|
||||
9850 5450 9850 1050
|
||||
Wire Notes Line
|
||||
9850 1050 1950 1050
|
||||
Wire Notes Line
|
||||
1950 1200 9850 1200
|
||||
Wire Notes Line
|
||||
9850 1350 1950 1350
|
||||
Wire Notes Line
|
||||
6050 1200 6050 5450
|
||||
Wire Wire Line
|
||||
3650 4650 3400 4650
|
||||
Wire Wire Line
|
||||
3400 4550 3400 4750
|
||||
Wire Wire Line
|
||||
3650 4550 3400 4550
|
||||
Connection ~ 3400 4650
|
||||
Wire Wire Line
|
||||
5150 2750 5150 2900
|
||||
Wire Wire Line
|
||||
4500 2200 4800 2200
|
||||
Wire Wire Line
|
||||
4800 2300 4800 2050
|
||||
Wire Wire Line
|
||||
4500 2300 5150 2300
|
||||
Connection ~ 4800 2200
|
||||
Wire Wire Line
|
||||
5150 2300 5150 2350
|
||||
Connection ~ 4800 2300
|
||||
NoConn ~ 3650 4250
|
||||
NoConn ~ 3650 4150
|
||||
NoConn ~ 4850 4150
|
||||
NoConn ~ 4850 4250
|
||||
$EndSCHEMATC
|
||||
137
samples/KiCad Schematic/gedda-junk.sch
Normal file
137
samples/KiCad Schematic/gedda-junk.sch
Normal file
@@ -0,0 +1,137 @@
|
||||
v 20080706 2
|
||||
T 10000 20000 9 10 1 0 0 0 1
|
||||
_0_0_ 0.sym
|
||||
T 10000 19800 9 10 1 0 0 0 1
|
||||
_1_1_ 1.sym
|
||||
T 10000 19600 9 10 1 0 0 0 1
|
||||
_2_2_ 2.sym
|
||||
T 10000 19400 9 10 1 0 0 0 1
|
||||
_3_3_ 3.sym
|
||||
T 10000 19200 9 10 1 0 0 0 1
|
||||
_4_4_ 4.sym
|
||||
T 10000 19000 9 10 1 0 0 0 1
|
||||
_5_5_ 5.sym
|
||||
T 10000 18800 9 10 1 0 0 0 1
|
||||
_6_6_ 6.sym
|
||||
T 10000 18600 9 10 1 0 0 0 1
|
||||
_7_7_ 7.sym
|
||||
T 10000 18400 9 10 1 0 0 0 1
|
||||
_8_8_ 8.sym
|
||||
T 10000 18200 9 10 1 0 0 0 1
|
||||
_9_9_ 9.sym
|
||||
T 18000 17200 9 10 1 0 0 0 1
|
||||
_q_q_ q_.sym
|
||||
v 20130925 2
|
||||
C 40000 40000 0 0 0 title-B.sym
|
||||
N 43500 47000 44200 47000 4
|
||||
N 44200 47000 44200 49400 4
|
||||
N 44200 49400 41800 49400 4
|
||||
N 41800 47300 41800 49400 4
|
||||
N 41800 47300 41500 47300 4
|
||||
N 41500 47300 41500 45600 4
|
||||
N 41500 45600 41600 45600 4
|
||||
N 41600 45600 41600 44600 4
|
||||
N 41100 44600 41600 44600 4
|
||||
N 41100 44600 41100 42900 4
|
||||
N 41100 42900 42400 42900 4
|
||||
N 42400 42900 42400 43600 4
|
||||
N 42400 43600 41000 43600 4
|
||||
N 41000 43600 41000 41300 4
|
||||
U 45300 49600 45300 43900 10 0
|
||||
U 45300 43900 53800 43900 10 0
|
||||
U 53800 43900 53800 45900 10 0
|
||||
U 53800 45900 53100 45900 10 0
|
||||
U 53100 45900 53100 47300 10 0
|
||||
U 53100 47300 50500 47300 10 0
|
||||
V 48500 47400 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
|
||||
P 47300 49100 50100 49100 1 0 0
|
||||
{
|
||||
T 47300 49100 5 10 0 0 0 0 1
|
||||
pintype=unknown
|
||||
T 50155 49095 5 10 1 1 0 0 1
|
||||
pinlabel=unknown
|
||||
T 50005 49145 5 10 1 1 0 6 1
|
||||
pinnumber=0
|
||||
T 47300 49100 5 10 0 0 0 0 1
|
||||
pinseq=0
|
||||
}
|
||||
P 51800 50000 51800 48500 1 0 0
|
||||
{
|
||||
T 51800 50000 5 10 0 0 0 0 1
|
||||
pintype=unknown
|
||||
T 51800 48445 5 10 1 1 90 6 1
|
||||
pinlabel=unknown
|
||||
T 51750 48595 5 10 1 1 90 0 1
|
||||
pinnumber=0
|
||||
T 51800 50000 5 10 0 0 0 0 1
|
||||
pinseq=0
|
||||
}
|
||||
P 54500 48500 54500 47900 1 0 0
|
||||
{
|
||||
T 54500 48500 5 10 0 0 0 0 1
|
||||
pintype=unknown
|
||||
T 54500 47845 5 10 1 1 90 6 1
|
||||
pinlabel=unknown
|
||||
T 54450 47995 5 10 1 1 90 0 1
|
||||
pinnumber=0
|
||||
T 54500 48500 5 10 0 0 0 0 1
|
||||
pinseq=0
|
||||
}
|
||||
C 46700 49800 1 0 0 af_output_transformer-1.sym
|
||||
{
|
||||
T 48000 52200 5 10 0 0 0 0 1
|
||||
device=AF_OUTPUT_TRANSFORMER
|
||||
T 48000 51900 5 10 1 1 0 0 1
|
||||
refdes=U?
|
||||
}
|
||||
C 42900 41300 1 0 0 af_output_transformer-1.sym
|
||||
{
|
||||
T 44200 43700 5 10 0 0 0 0 1
|
||||
device=AF_OUTPUT_TRANSFORMER
|
||||
T 44200 43400 5 10 1 1 0 0 1
|
||||
refdes=U?
|
||||
}
|
||||
T 48100 42000 9 10 1 0 0 0 1
|
||||
NFI_LOL
|
||||
C 42200 44500 1 0 0 ssrelay-spdt-lcc110-1.sym
|
||||
{
|
||||
T 42500 47100 5 10 0 0 0 0 1
|
||||
device=LCC110
|
||||
T 42500 46700 5 10 0 0 0 0 1
|
||||
symversion=0.1
|
||||
T 42500 46250 5 10 1 1 0 0 1
|
||||
refdes=U?
|
||||
T 42500 46900 5 10 0 0 0 0 1
|
||||
footprint=DIP8
|
||||
}
|
||||
U 53200 50000 53200 47900 10 0
|
||||
U 53200 47900 53700 47900 10 0
|
||||
U 53700 47900 53700 46500 10 0
|
||||
U 53700 46500 54200 46500 10 0
|
||||
U 54200 46500 54200 43800 10 0
|
||||
U 54200 43800 45500 43800 10 0
|
||||
U 45500 43800 45500 42600 10 0
|
||||
U 45500 42600 49200 42600 10 0
|
||||
U 49200 42600 49200 41500 10 0
|
||||
U 49200 41500 47700 41500 10 0
|
||||
U 47700 41500 47700 42200 10 0
|
||||
U 47700 42200 45300 42200 10 0
|
||||
U 45300 42200 45300 40500 10 0
|
||||
U 45300 40500 40900 40500 10 0
|
||||
U 40900 40500 40900 41000 10 0
|
||||
U 40900 41000 40500 41000 10 0
|
||||
U 40500 41000 40500 50300 10 0
|
||||
U 40500 50300 45800 50300 10 0
|
||||
U 45800 50300 45800 49700 10 0
|
||||
U 45800 49700 45300 49700 10 0
|
||||
U 45300 49700 45300 48100 10 0
|
||||
U 45300 48100 43600 48100 10 0
|
||||
C 42500 47400 1 0 0 switch-dip12.sym
|
||||
{
|
||||
T 42800 51700 5 10 1 1 0 0 1
|
||||
footprint=SWITCH_DIP12
|
||||
T 42800 51975 5 8 0 0 0 0 1
|
||||
device=SWITCH_DIP12
|
||||
T 42800 51350 5 10 1 1 0 0 1
|
||||
refdes=S?
|
||||
}
|
||||
106
samples/Nearley/nearley-language-bootstrapped.ne
Normal file
106
samples/Nearley/nearley-language-bootstrapped.ne
Normal file
@@ -0,0 +1,106 @@
|
||||
# nearley grammar
|
||||
@builtin "string.ne"
|
||||
|
||||
@{%
|
||||
|
||||
function insensitive(sl) {
|
||||
var s = sl.literal;
|
||||
result = [];
|
||||
for (var i=0; i<s.length; i++) {
|
||||
var c = s.charAt(i);
|
||||
if (c.toUpperCase() !== c || c.toLowerCase() !== c) {
|
||||
result.push(new RegExp("[" + c.toLowerCase() + c.toUpperCase() + "]"));
|
||||
} else {
|
||||
result.push({literal: c});
|
||||
}
|
||||
}
|
||||
return {subexpression: [{tokens: result, postprocess: function(d) {return d.join(""); }}]};
|
||||
}
|
||||
|
||||
%}
|
||||
|
||||
final -> whit? prog whit? {% function(d) { return d[1]; } %}
|
||||
|
||||
prog -> prod {% function(d) { return [d[0]]; } %}
|
||||
| prod whit prog {% function(d) { return [d[0]].concat(d[2]); } %}
|
||||
|
||||
prod -> word whit? ("-"|"="):+ ">" whit? expression+ {% function(d) { return {name: d[0], rules: d[5]}; } %}
|
||||
| word "[" wordlist "]" whit? ("-"|"="):+ ">" whit? expression+ {% function(d) {return {macro: d[0], args: d[2], exprs: d[8]}} %}
|
||||
| "@" whit? js {% function(d) { return {body: d[2]}; } %}
|
||||
| "@" word whit word {% function(d) { return {config: d[1], value: d[3]}; } %}
|
||||
| "@include" whit? string {% function(d) {return {include: d[2].literal, builtin: false}} %}
|
||||
| "@builtin" whit? string {% function(d) {return {include: d[2].literal, builtin: true }} %}
|
||||
|
||||
expression+ -> completeexpression
|
||||
| expression+ whit? "|" whit? completeexpression {% function(d) { return d[0].concat([d[4]]); } %}
|
||||
|
||||
expressionlist -> completeexpression
|
||||
| expressionlist whit? "," whit? completeexpression {% function(d) { return d[0].concat([d[4]]); } %}
|
||||
|
||||
wordlist -> word
|
||||
| wordlist whit? "," whit? word {% function(d) { return d[0].concat([d[4]]); } %}
|
||||
|
||||
completeexpression -> expr {% function(d) { return {tokens: d[0]}; } %}
|
||||
| expr whit? js {% function(d) { return {tokens: d[0], postprocess: d[2]}; } %}
|
||||
|
||||
expr_member ->
|
||||
word {% id %}
|
||||
| "$" word {% function(d) {return {mixin: d[1]}} %}
|
||||
| word "[" expressionlist "]" {% function(d) {return {macrocall: d[0], args: d[2]}} %}
|
||||
| string "i":? {% function(d) { if (d[1]) {return insensitive(d[0]); } else {return d[0]; } } %}
|
||||
| "%" word {% function(d) {return {token: d[1]}} %}
|
||||
| charclass {% id %}
|
||||
| "(" whit? expression+ whit? ")" {% function(d) {return {'subexpression': d[2]} ;} %}
|
||||
| expr_member whit? ebnf_modifier {% function(d) {return {'ebnf': d[0], 'modifier': d[2]}; } %}
|
||||
|
||||
ebnf_modifier -> ":+" {% id %} | ":*" {% id %} | ":?" {% id %}
|
||||
|
||||
expr -> expr_member
|
||||
| expr whit expr_member {% function(d){ return d[0].concat([d[2]]); } %}
|
||||
|
||||
word -> [\w\?\+] {% function(d){ return d[0]; } %}
|
||||
| word [\w\?\+] {% function(d){ return d[0]+d[1]; } %}
|
||||
|
||||
string -> dqstring {% function(d) {return { literal: d[0] }; } %}
|
||||
#string -> "\"" charset "\"" {% function(d) { return { literal: d[1].join("") }; } %}
|
||||
#
|
||||
#charset -> null
|
||||
# | charset char {% function(d) { return d[0].concat([d[1]]); } %}
|
||||
#
|
||||
#char -> [^\\"] {% function(d) { return d[0]; } %}
|
||||
# | "\\" . {% function(d) { return JSON.parse("\""+"\\"+d[1]+"\""); } %}
|
||||
|
||||
charclass -> "." {% function(d) { return new RegExp("."); } %}
|
||||
| "[" charclassmembers "]" {% function(d) { return new RegExp("[" + d[1].join('') + "]"); } %}
|
||||
|
||||
charclassmembers -> null
|
||||
| charclassmembers charclassmember {% function(d) { return d[0].concat([d[1]]); } %}
|
||||
|
||||
charclassmember -> [^\\\]] {% function(d) { return d[0]; } %}
|
||||
| "\\" . {% function(d) { return d[0] + d[1]; } %}
|
||||
|
||||
js -> "{" "%" jscode "%" "}" {% function(d) { return d[2]; } %}
|
||||
|
||||
jscode -> null {% function() {return "";} %}
|
||||
| jscode [^%] {% function(d) {return d[0] + d[1];} %}
|
||||
| jscode "%" [^}] {% function(d) {return d[0] + d[1] + d[2]; } %}
|
||||
|
||||
# Whitespace with a comment
|
||||
whit -> whitraw
|
||||
| whitraw? comment whit?
|
||||
|
||||
# Optional whitespace with a comment
|
||||
whit? -> null
|
||||
| whit
|
||||
|
||||
# Literally a string of whitespace
|
||||
whitraw -> [\s]
|
||||
| whitraw [\s]
|
||||
|
||||
# A string of whitespace OR the empty string
|
||||
whitraw? -> null
|
||||
| whitraw
|
||||
|
||||
comment -> "#" commentchars "\n"
|
||||
commentchars -> null
|
||||
| commentchars [^\n]
|
||||
230
samples/OpenEdge ABL/test-win.w
Normal file
230
samples/OpenEdge ABL/test-win.w
Normal file
@@ -0,0 +1,230 @@
|
||||
&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI
|
||||
&ANALYZE-RESUME
|
||||
&Scoped-define WINDOW-NAME C-Win
|
||||
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS C-Win
|
||||
/*------------------------------------------------------------------------
|
||||
|
||||
File:
|
||||
|
||||
Description:
|
||||
|
||||
Input Parameters:
|
||||
<none>
|
||||
|
||||
Output Parameters:
|
||||
<none>
|
||||
|
||||
Author:
|
||||
|
||||
Created:
|
||||
|
||||
------------------------------------------------------------------------*/
|
||||
/* This .W file was created with the Progress AppBuilder. */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/* Create an unnamed pool to store all the widgets created
|
||||
by this procedure. This is a good default which assures
|
||||
that this procedure's triggers and internal procedures
|
||||
will execute in this procedure's storage, and that proper
|
||||
cleanup will occur on deletion of the procedure. */
|
||||
|
||||
CREATE WIDGET-POOL.
|
||||
|
||||
/* *************************** Definitions ************************** */
|
||||
|
||||
/* Parameters Definitions --- */
|
||||
|
||||
/* Local Variable Definitions --- */
|
||||
|
||||
/* _UIB-CODE-BLOCK-END */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
|
||||
&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
|
||||
|
||||
/* ******************** Preprocessor Definitions ******************** */
|
||||
|
||||
&Scoped-define PROCEDURE-TYPE Window
|
||||
&Scoped-define DB-AWARE no
|
||||
|
||||
/* Name of designated FRAME-NAME and/or first browse and/or first query */
|
||||
&Scoped-define FRAME-NAME DEFAULT-FRAME
|
||||
|
||||
/* Custom List Definitions */
|
||||
/* List-1,List-2,List-3,List-4,List-5,List-6 */
|
||||
|
||||
/* _UIB-PREPROCESSOR-BLOCK-END */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
|
||||
|
||||
/* *********************** Control Definitions ********************** */
|
||||
|
||||
/* Define the widget handle for the window */
|
||||
DEFINE VAR C-Win AS WIDGET-HANDLE NO-UNDO.
|
||||
|
||||
/* ************************ Frame Definitions *********************** */
|
||||
|
||||
DEFINE FRAME DEFAULT-FRAME
|
||||
WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
|
||||
SIDE-LABELS NO-UNDERLINE THREE-D
|
||||
AT COL 1 ROW 1
|
||||
SIZE 80 BY 16 WIDGET-ID 100.
|
||||
|
||||
|
||||
/* *********************** Procedure Settings ************************ */
|
||||
|
||||
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
|
||||
/* Settings for THIS-PROCEDURE
|
||||
Type: Window
|
||||
Allow: Basic,Browse,DB-Fields,Window,Query
|
||||
Other Settings: COMPILE
|
||||
*/
|
||||
&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
|
||||
|
||||
/* ************************* Create Window ************************** */
|
||||
|
||||
&ANALYZE-SUSPEND _CREATE-WINDOW
|
||||
IF SESSION:DISPLAY-TYPE = "GUI":U THEN
|
||||
CREATE WINDOW C-Win ASSIGN
|
||||
HIDDEN = YES
|
||||
TITLE = "<insert window title>"
|
||||
HEIGHT = 16
|
||||
WIDTH = 80
|
||||
MAX-HEIGHT = 16
|
||||
MAX-WIDTH = 80
|
||||
VIRTUAL-HEIGHT = 16
|
||||
VIRTUAL-WIDTH = 80
|
||||
RESIZE = yes
|
||||
SCROLL-BARS = no
|
||||
STATUS-AREA = no
|
||||
BGCOLOR = ?
|
||||
FGCOLOR = ?
|
||||
KEEP-FRAME-Z-ORDER = yes
|
||||
THREE-D = yes
|
||||
MESSAGE-AREA = no
|
||||
SENSITIVE = yes.
|
||||
ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
|
||||
/* END WINDOW DEFINITION */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
|
||||
|
||||
/* *********** Runtime Attributes and AppBuilder Settings *********** */
|
||||
|
||||
&ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
|
||||
/* SETTINGS FOR WINDOW C-Win
|
||||
VISIBLE,,RUN-PERSISTENT */
|
||||
/* SETTINGS FOR FRAME DEFAULT-FRAME
|
||||
FRAME-NAME */
|
||||
IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
|
||||
THEN C-Win:HIDDEN = no.
|
||||
|
||||
/* _RUN-TIME-ATTRIBUTES-END */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ************************ Control Triggers ************************ */
|
||||
|
||||
&Scoped-define SELF-NAME C-Win
|
||||
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win C-Win
|
||||
ON END-ERROR OF C-Win /* <insert window title> */
|
||||
OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
|
||||
/* This case occurs when the user presses the "Esc" key.
|
||||
In a persistently run window, just ignore this. If we did not, the
|
||||
application would exit. */
|
||||
IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
|
||||
END.
|
||||
|
||||
/* _UIB-CODE-BLOCK-END */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
|
||||
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win C-Win
|
||||
ON WINDOW-CLOSE OF C-Win /* <insert window title> */
|
||||
DO:
|
||||
/* This event will close the window and terminate the procedure. */
|
||||
APPLY "CLOSE":U TO THIS-PROCEDURE.
|
||||
RETURN NO-APPLY.
|
||||
END.
|
||||
|
||||
/* _UIB-CODE-BLOCK-END */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
|
||||
&UNDEFINE SELF-NAME
|
||||
|
||||
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK C-Win
|
||||
|
||||
|
||||
/* *************************** Main Block *************************** */
|
||||
|
||||
/* Set CURRENT-WINDOW: this will parent dialog-boxes and frames. */
|
||||
ASSIGN CURRENT-WINDOW = {&WINDOW-NAME}
|
||||
THIS-PROCEDURE:CURRENT-WINDOW = {&WINDOW-NAME}.
|
||||
|
||||
/* The CLOSE event can be used from inside or outside the procedure to */
|
||||
/* terminate it. */
|
||||
ON CLOSE OF THIS-PROCEDURE
|
||||
RUN disable_UI.
|
||||
|
||||
/* Best default for GUI applications is... */
|
||||
PAUSE 0 BEFORE-HIDE.
|
||||
|
||||
/* Now enable the interface and wait for the exit condition. */
|
||||
/* (NOTE: handle ERROR and END-KEY so cleanup code will always fire. */
|
||||
MAIN-BLOCK:
|
||||
DO ON ERROR UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK
|
||||
ON END-KEY UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK:
|
||||
RUN enable_UI.
|
||||
IF NOT THIS-PROCEDURE:PERSISTENT THEN
|
||||
WAIT-FOR CLOSE OF THIS-PROCEDURE.
|
||||
END.
|
||||
|
||||
/* _UIB-CODE-BLOCK-END */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
|
||||
/* ********************** Internal Procedures *********************** */
|
||||
|
||||
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI C-Win _DEFAULT-DISABLE
|
||||
PROCEDURE disable_UI :
|
||||
/*------------------------------------------------------------------------------
|
||||
Purpose: DISABLE the User Interface
|
||||
Parameters: <none>
|
||||
Notes: Here we clean-up the user-interface by deleting
|
||||
dynamic widgets we have created and/or hide
|
||||
frames. This procedure is usually called when
|
||||
we are ready to "clean-up" after running.
|
||||
------------------------------------------------------------------------------*/
|
||||
/* Delete the WINDOW we created */
|
||||
IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
|
||||
THEN DELETE WIDGET C-Win.
|
||||
IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
|
||||
END PROCEDURE.
|
||||
|
||||
/* _UIB-CODE-BLOCK-END */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI C-Win _DEFAULT-ENABLE
|
||||
PROCEDURE enable_UI :
|
||||
/*------------------------------------------------------------------------------
|
||||
Purpose: ENABLE the User Interface
|
||||
Parameters: <none>
|
||||
Notes: Here we display/view/enable the widgets in the
|
||||
user-interface. In addition, OPEN all queries
|
||||
associated with each FRAME and BROWSE.
|
||||
These statements here are based on the "Other
|
||||
Settings" section of the widget Property Sheets.
|
||||
------------------------------------------------------------------------------*/
|
||||
VIEW FRAME DEFAULT-FRAME IN WINDOW C-Win.
|
||||
{&OPEN-BROWSERS-IN-QUERY-DEFAULT-FRAME}
|
||||
VIEW C-Win.
|
||||
END PROCEDURE.
|
||||
|
||||
/* _UIB-CODE-BLOCK-END */
|
||||
&ANALYZE-RESUME
|
||||
|
||||
2074
samples/Perl/feedgnuplot
Normal file
2074
samples/Perl/feedgnuplot
Normal file
File diff suppressed because it is too large
Load Diff
13
samples/PostCSS/sample.pcss
Normal file
13
samples/PostCSS/sample.pcss
Normal file
@@ -0,0 +1,13 @@
|
||||
@define-mixin size $size {
|
||||
width: $size;
|
||||
}
|
||||
|
||||
$big: 100px;
|
||||
|
||||
/* Main block */
|
||||
.block {
|
||||
&_logo {
|
||||
background: inline("./logo.png");
|
||||
@mixin size $big;
|
||||
}
|
||||
}
|
||||
78
samples/PostScript/lambda.pfa
Normal file
78
samples/PostScript/lambda.pfa
Normal file
@@ -0,0 +1,78 @@
|
||||
%!PS-AdobeFont-1.0: Greek_Lambda_Character-Regular 020.017
|
||||
%%Title: Greek_Lambda_Character-Regular
|
||||
%Version: 020.017
|
||||
%%CreationDate: Sun Jul 23 23:14:02 2017
|
||||
%%Creator: John Gardner /ThatGuyLinguistWatchersAreSickOf
|
||||
%Copyright: NONE. NADA. PUBLIC DOMAIN, BOI
|
||||
% Generated by FontForge 20170719 (http://fontforge.sf.net/)
|
||||
%%EndComments
|
||||
|
||||
10 dict begin
|
||||
/FontType 1 def
|
||||
/FontMatrix [0.000488281 0 0 0.000488281 0 0 ]readonly def
|
||||
/FontName /Greek_Lambda_Character-Regular def
|
||||
/FontBBox {68 -362 1158 1556 }readonly def
|
||||
/PaintType 0 def
|
||||
/FontInfo 11 dict dup begin
|
||||
/version (020.017) readonly def
|
||||
/Notice (NONE. NADA. PUBLIC DOMAIN, BOI) readonly def
|
||||
/FullName (Greek_Lambda_Character Regular) readonly def
|
||||
/FamilyName (Greek_Lambda_Character) readonly def
|
||||
/Weight (Regular) readonly def
|
||||
/FSType 8 def
|
||||
/ItalicAngle 0 def
|
||||
/isFixedPitch false def
|
||||
/UnderlinePosition -175 def
|
||||
/UnderlineThickness 90 def
|
||||
/ascent 1556 def
|
||||
end readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 { 1 index exch /.notdef put} for
|
||||
dup 13/uni000D put
|
||||
dup 32/space put
|
||||
readonly def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
743F8413F3636CA85A9FFEFB50B4BB27302A5F6C876586CCC1670A7EF5521E6ADE15AAB4
|
||||
DD2DDDB83735311FC63DB80D2C96AECFA05BB67F865EA35934B4B79A203A8DD489B09C79
|
||||
FF6EB9DBCFD889C3E73F8C94BC342AF671D6F688870A62EE1A0DF216E150FFEC64A8C2B7
|
||||
509AD05C011599C1AD84E6C4B668E07EA219BD72663D8AF4CA8EC8E23AA90DE90BE940C6
|
||||
6DB849CEDB3B64961365A7CCE47F4FC9E30FDEE4B14B90C2E0D8C344EBC974EABF417B3D
|
||||
28251A78ACEE2BFC4212B1E3E9C7EBC3262821EE98E538713C64DF0BC13C19337B1307DE
|
||||
427F2C8C4FF2126B9FF99DDDFB332AF3EBCD23349171C5C7E66B1C53EF39C35516C0DC7D
|
||||
D6F70D59C28603519559B710C0128C22BA268D330AE02690534939E5B58BAAB00A59B0E6
|
||||
E515E80A04F2B315A00FB1CA49A4B0259167BBA9852544092955FE0883DBCD89B739AA94
|
||||
8C6277B54019E9870B44E5A998F0F2175545F602CC4630E4BE01E35F4CEFDD7D1B737358
|
||||
1B2D6F612B23AFAF221AB18CD868E7548EE5064762971F8868940F26134CA7BB40734220
|
||||
06EEBE10B5F5251FE36B0E794D8B0D7AC814F4C30BB5A0435C203748B40217BEAF506328
|
||||
D30E9417382B228FF6DF97A71135B613CC3EF4CDD8276711842C3DB0D31A25883544FFF5
|
||||
D8719874AD10816F3EB272D5C245440127B9F2967DC46EAF4BED77FF2C2585A355EB586E
|
||||
09BE8BA3D104EA174EA004DCE00066F7606EEF55376E332566235B8F4283D63E2AE5F2E3
|
||||
6A6940BED4FA83C6E82C444B2D790BAA36E641908C61F6409CA09D9723B2F169BE42B166
|
||||
5E704AA69D594B2A22C631D030029B772C3C200A0A483A13403E2EF19274B73860FFEA37
|
||||
521C65865A79A5429EED01C0F95AB6F66F030BF14CCB42A6DA2435B74135BB5D35EF6DC6
|
||||
FE48D29690417795B9D7AA2A3D66B7A175F8B6C23AFB5A472343C2DFDCC242C27033DD6F
|
||||
B65B1CD5DC29B9DA455FAAC3A9408BB9B61C2B701741C34CE88EBFF05B7045CBEAC8788E
|
||||
548F0E642277D4F9AED30A3431070805910970243FD069130D641AFAE28754B1355618B8
|
||||
706D163027980F2A76A59E0B9D2FB92BF17943129A8A6FB15CBF6D376C464329E24A118B
|
||||
8E38987CDD4CD5F214B26D65BEEDB2ECD7502861747089298A653654062A3AD5AC4FC4AF
|
||||
5DEF7BDD4C5CDBC828A1F12235F68522B45BE0C2D6FB663B51E76BF559815F41C25EC7F8
|
||||
17A92B9E139F3E6D27A8512A261EE576459DE603F386516E46B8326574E900101A8D49C9
|
||||
E8798E734F56C4E2D78B14D6B14E96F3523F3F34464235C96F94609852F90A0A1B51CE14
|
||||
25EC76E65E5D1C5D2EEC730FC438F4083A806C67D0A1566D0E6EF70DC38E64DCA44DFA66
|
||||
20073E848BDFDB2B793AFE29B47917D87CB8320F48A7C083CAAD2CA20C25D705D78B33D5
|
||||
A5EAB8C671A57BBC3C896DE54C71B8F860B640B7C30199A2443353E3727FA99C168DB4E8
|
||||
ABE021B7DDB526E30B2075028BD8D387D32E025E458D05E3A25B9BC94ED54F7A0FCA3D61
|
||||
604D2F49A205CBDF5FBDD5D3E1D31C6F7310CC155982689FA1F5723DDAE2EDEB5E69F03C
|
||||
4CCDBBCB348E57AF222744A07DCCE69236EB29499A87C0A201EDD6A402EA23C035732184
|
||||
339049E8C101388304CD20EAA8554A9B6E4F2B126A0593F4401992E73F7BFEF89DE3DFDE
|
||||
DA548E3EE05D5B4EE0D114F916
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
cleartomark
|
||||
784
samples/Scheme/sboyer.sch
Normal file
784
samples/Scheme/sboyer.sch
Normal file
@@ -0,0 +1,784 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; File: sboyer.sch
|
||||
; Description: The Boyer benchmark
|
||||
; Author: Bob Boyer
|
||||
; Created: 5-Apr-85
|
||||
; Modified: 10-Apr-85 14:52:20 (Bob Shaw)
|
||||
; 22-Jul-87 (Will Clinger)
|
||||
; 2-Jul-88 (Will Clinger -- distinguished #f and the empty list)
|
||||
; 13-Feb-97 (Will Clinger -- fixed bugs in unifier and rules,
|
||||
; rewrote to eliminate property lists, and added
|
||||
; a scaling parameter suggested by Bob Boyer)
|
||||
; 19-Mar-99 (Will Clinger -- cleaned up comments)
|
||||
; 4-Apr-01 (Will Clinger -- changed four 1- symbols to sub1)
|
||||
; Language: Scheme
|
||||
; Status: Public Domain
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;;; SBOYER -- Logic programming benchmark, originally written by Bob Boyer.
|
||||
;;; Much less CONS-intensive than NBOYER because it uses Henry Baker's
|
||||
;;; "sharing cons".
|
||||
|
||||
; Note: The version of this benchmark that appears in Dick Gabriel's book
|
||||
; contained several bugs that are corrected here. These bugs are discussed
|
||||
; by Henry Baker, "The Boyer Benchmark Meets Linear Logic", ACM SIGPLAN Lisp
|
||||
; Pointers 6(4), October-December 1993, pages 3-10. The fixed bugs are:
|
||||
;
|
||||
; The benchmark now returns a boolean result.
|
||||
; FALSEP and TRUEP use TERM-MEMBER? rather than MEMV (which is called MEMBER
|
||||
; in Common Lisp)
|
||||
; ONE-WAY-UNIFY1 now treats numbers correctly
|
||||
; ONE-WAY-UNIFY1-LST now treats empty lists correctly
|
||||
; Rule 19 has been corrected (this rule was not touched by the original
|
||||
; benchmark, but is used by this version)
|
||||
; Rules 84 and 101 have been corrected (but these rules are never touched
|
||||
; by the benchmark)
|
||||
;
|
||||
; According to Baker, these bug fixes make the benchmark 10-25% slower.
|
||||
; Please do not compare the timings from this benchmark against those of
|
||||
; the original benchmark.
|
||||
;
|
||||
; This version of the benchmark also prints the number of rewrites as a sanity
|
||||
; check, because it is too easy for a buggy version to return the correct
|
||||
; boolean result. The correct number of rewrites is
|
||||
;
|
||||
; n rewrites peak live storage (approximate, in bytes)
|
||||
; 0 95024
|
||||
; 1 591777
|
||||
; 2 1813975
|
||||
; 3 5375678
|
||||
; 4 16445406
|
||||
; 5 51507739
|
||||
|
||||
; Sboyer is a 2-phase benchmark.
|
||||
; The first phase attaches lemmas to symbols. This phase is not timed,
|
||||
; but it accounts for very little of the runtime anyway.
|
||||
; The second phase creates the test problem, and tests to see
|
||||
; whether it is implied by the lemmas.
|
||||
|
||||
(define (sboyer-benchmark . args)
|
||||
(let ((n (if (null? args) 0 (car args))))
|
||||
(setup-boyer)
|
||||
(run-benchmark (string-append "sboyer"
|
||||
(number->string n))
|
||||
1
|
||||
(lambda () (test-boyer n))
|
||||
(lambda (rewrites)
|
||||
(and (number? rewrites)
|
||||
(case n
|
||||
((0) (= rewrites 95024))
|
||||
((1) (= rewrites 591777))
|
||||
((2) (= rewrites 1813975))
|
||||
((3) (= rewrites 5375678))
|
||||
((4) (= rewrites 16445406))
|
||||
((5) (= rewrites 51507739))
|
||||
; If it works for n <= 5, assume it works.
|
||||
(else #t)))))))
|
||||
|
||||
(define (setup-boyer) #t) ; assigned below
|
||||
(define (test-boyer) #t) ; assigned below
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;
|
||||
; The first phase.
|
||||
;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; In the original benchmark, it stored a list of lemmas on the
|
||||
; property lists of symbols.
|
||||
; In the new benchmark, it maintains an association list of
|
||||
; symbols and symbol-records, and stores the list of lemmas
|
||||
; within the symbol-records.
|
||||
|
||||
(let ()
|
||||
|
||||
(define (setup)
|
||||
(add-lemma-lst
|
||||
(quote ((equal (compile form)
|
||||
(reverse (codegen (optimize form)
|
||||
(nil))))
|
||||
(equal (eqp x y)
|
||||
(equal (fix x)
|
||||
(fix y)))
|
||||
(equal (greaterp x y)
|
||||
(lessp y x))
|
||||
(equal (lesseqp x y)
|
||||
(not (lessp y x)))
|
||||
(equal (greatereqp x y)
|
||||
(not (lessp x y)))
|
||||
(equal (boolean x)
|
||||
(or (equal x (t))
|
||||
(equal x (f))))
|
||||
(equal (iff x y)
|
||||
(and (implies x y)
|
||||
(implies y x)))
|
||||
(equal (even1 x)
|
||||
(if (zerop x)
|
||||
(t)
|
||||
(odd (sub1 x))))
|
||||
(equal (countps- l pred)
|
||||
(countps-loop l pred (zero)))
|
||||
(equal (fact- i)
|
||||
(fact-loop i 1))
|
||||
(equal (reverse- x)
|
||||
(reverse-loop x (nil)))
|
||||
(equal (divides x y)
|
||||
(zerop (remainder y x)))
|
||||
(equal (assume-true var alist)
|
||||
(cons (cons var (t))
|
||||
alist))
|
||||
(equal (assume-false var alist)
|
||||
(cons (cons var (f))
|
||||
alist))
|
||||
(equal (tautology-checker x)
|
||||
(tautologyp (normalize x)
|
||||
(nil)))
|
||||
(equal (falsify x)
|
||||
(falsify1 (normalize x)
|
||||
(nil)))
|
||||
(equal (prime x)
|
||||
(and (not (zerop x))
|
||||
(not (equal x (add1 (zero))))
|
||||
(prime1 x (sub1 x))))
|
||||
(equal (and p q)
|
||||
(if p (if q (t)
|
||||
(f))
|
||||
(f)))
|
||||
(equal (or p q)
|
||||
(if p (t)
|
||||
(if q (t)
|
||||
(f))))
|
||||
(equal (not p)
|
||||
(if p (f)
|
||||
(t)))
|
||||
(equal (implies p q)
|
||||
(if p (if q (t)
|
||||
(f))
|
||||
(t)))
|
||||
(equal (fix x)
|
||||
(if (numberp x)
|
||||
x
|
||||
(zero)))
|
||||
(equal (if (if a b c)
|
||||
d e)
|
||||
(if a (if b d e)
|
||||
(if c d e)))
|
||||
(equal (zerop x)
|
||||
(or (equal x (zero))
|
||||
(not (numberp x))))
|
||||
(equal (plus (plus x y)
|
||||
z)
|
||||
(plus x (plus y z)))
|
||||
(equal (equal (plus a b)
|
||||
(zero))
|
||||
(and (zerop a)
|
||||
(zerop b)))
|
||||
(equal (difference x x)
|
||||
(zero))
|
||||
(equal (equal (plus a b)
|
||||
(plus a c))
|
||||
(equal (fix b)
|
||||
(fix c)))
|
||||
(equal (equal (zero)
|
||||
(difference x y))
|
||||
(not (lessp y x)))
|
||||
(equal (equal x (difference x y))
|
||||
(and (numberp x)
|
||||
(or (equal x (zero))
|
||||
(zerop y))))
|
||||
(equal (meaning (plus-tree (append x y))
|
||||
a)
|
||||
(plus (meaning (plus-tree x)
|
||||
a)
|
||||
(meaning (plus-tree y)
|
||||
a)))
|
||||
(equal (meaning (plus-tree (plus-fringe x))
|
||||
a)
|
||||
(fix (meaning x a)))
|
||||
(equal (append (append x y)
|
||||
z)
|
||||
(append x (append y z)))
|
||||
(equal (reverse (append a b))
|
||||
(append (reverse b)
|
||||
(reverse a)))
|
||||
(equal (times x (plus y z))
|
||||
(plus (times x y)
|
||||
(times x z)))
|
||||
(equal (times (times x y)
|
||||
z)
|
||||
(times x (times y z)))
|
||||
(equal (equal (times x y)
|
||||
(zero))
|
||||
(or (zerop x)
|
||||
(zerop y)))
|
||||
(equal (exec (append x y)
|
||||
pds envrn)
|
||||
(exec y (exec x pds envrn)
|
||||
envrn))
|
||||
(equal (mc-flatten x y)
|
||||
(append (flatten x)
|
||||
y))
|
||||
(equal (member x (append a b))
|
||||
(or (member x a)
|
||||
(member x b)))
|
||||
(equal (member x (reverse y))
|
||||
(member x y))
|
||||
(equal (length (reverse x))
|
||||
(length x))
|
||||
(equal (member a (intersect b c))
|
||||
(and (member a b)
|
||||
(member a c)))
|
||||
(equal (nth (zero)
|
||||
i)
|
||||
(zero))
|
||||
(equal (exp i (plus j k))
|
||||
(times (exp i j)
|
||||
(exp i k)))
|
||||
(equal (exp i (times j k))
|
||||
(exp (exp i j)
|
||||
k))
|
||||
(equal (reverse-loop x y)
|
||||
(append (reverse x)
|
||||
y))
|
||||
(equal (reverse-loop x (nil))
|
||||
(reverse x))
|
||||
(equal (count-list z (sort-lp x y))
|
||||
(plus (count-list z x)
|
||||
(count-list z y)))
|
||||
(equal (equal (append a b)
|
||||
(append a c))
|
||||
(equal b c))
|
||||
(equal (plus (remainder x y)
|
||||
(times y (quotient x y)))
|
||||
(fix x))
|
||||
(equal (power-eval (big-plus1 l i base)
|
||||
base)
|
||||
(plus (power-eval l base)
|
||||
i))
|
||||
(equal (power-eval (big-plus x y i base)
|
||||
base)
|
||||
(plus i (plus (power-eval x base)
|
||||
(power-eval y base))))
|
||||
(equal (remainder y 1)
|
||||
(zero))
|
||||
(equal (lessp (remainder x y)
|
||||
y)
|
||||
(not (zerop y)))
|
||||
(equal (remainder x x)
|
||||
(zero))
|
||||
(equal (lessp (quotient i j)
|
||||
i)
|
||||
(and (not (zerop i))
|
||||
(or (zerop j)
|
||||
(not (equal j 1)))))
|
||||
(equal (lessp (remainder x y)
|
||||
x)
|
||||
(and (not (zerop y))
|
||||
(not (zerop x))
|
||||
(not (lessp x y))))
|
||||
(equal (power-eval (power-rep i base)
|
||||
base)
|
||||
(fix i))
|
||||
(equal (power-eval (big-plus (power-rep i base)
|
||||
(power-rep j base)
|
||||
(zero)
|
||||
base)
|
||||
base)
|
||||
(plus i j))
|
||||
(equal (gcd x y)
|
||||
(gcd y x))
|
||||
(equal (nth (append a b)
|
||||
i)
|
||||
(append (nth a i)
|
||||
(nth b (difference i (length a)))))
|
||||
(equal (difference (plus x y)
|
||||
x)
|
||||
(fix y))
|
||||
(equal (difference (plus y x)
|
||||
x)
|
||||
(fix y))
|
||||
(equal (difference (plus x y)
|
||||
(plus x z))
|
||||
(difference y z))
|
||||
(equal (times x (difference c w))
|
||||
(difference (times c x)
|
||||
(times w x)))
|
||||
(equal (remainder (times x z)
|
||||
z)
|
||||
(zero))
|
||||
(equal (difference (plus b (plus a c))
|
||||
a)
|
||||
(plus b c))
|
||||
(equal (difference (add1 (plus y z))
|
||||
z)
|
||||
(add1 y))
|
||||
(equal (lessp (plus x y)
|
||||
(plus x z))
|
||||
(lessp y z))
|
||||
(equal (lessp (times x z)
|
||||
(times y z))
|
||||
(and (not (zerop z))
|
||||
(lessp x y)))
|
||||
(equal (lessp y (plus x y))
|
||||
(not (zerop x)))
|
||||
(equal (gcd (times x z)
|
||||
(times y z))
|
||||
(times z (gcd x y)))
|
||||
(equal (value (normalize x)
|
||||
a)
|
||||
(value x a))
|
||||
(equal (equal (flatten x)
|
||||
(cons y (nil)))
|
||||
(and (nlistp x)
|
||||
(equal x y)))
|
||||
(equal (listp (gopher x))
|
||||
(listp x))
|
||||
(equal (samefringe x y)
|
||||
(equal (flatten x)
|
||||
(flatten y)))
|
||||
(equal (equal (greatest-factor x y)
|
||||
(zero))
|
||||
(and (or (zerop y)
|
||||
(equal y 1))
|
||||
(equal x (zero))))
|
||||
(equal (equal (greatest-factor x y)
|
||||
1)
|
||||
(equal x 1))
|
||||
(equal (numberp (greatest-factor x y))
|
||||
(not (and (or (zerop y)
|
||||
(equal y 1))
|
||||
(not (numberp x)))))
|
||||
(equal (times-list (append x y))
|
||||
(times (times-list x)
|
||||
(times-list y)))
|
||||
(equal (prime-list (append x y))
|
||||
(and (prime-list x)
|
||||
(prime-list y)))
|
||||
(equal (equal z (times w z))
|
||||
(and (numberp z)
|
||||
(or (equal z (zero))
|
||||
(equal w 1))))
|
||||
(equal (greatereqp x y)
|
||||
(not (lessp x y)))
|
||||
(equal (equal x (times x y))
|
||||
(or (equal x (zero))
|
||||
(and (numberp x)
|
||||
(equal y 1))))
|
||||
(equal (remainder (times y x)
|
||||
y)
|
||||
(zero))
|
||||
(equal (equal (times a b)
|
||||
1)
|
||||
(and (not (equal a (zero)))
|
||||
(not (equal b (zero)))
|
||||
(numberp a)
|
||||
(numberp b)
|
||||
(equal (sub1 a)
|
||||
(zero))
|
||||
(equal (sub1 b)
|
||||
(zero))))
|
||||
(equal (lessp (length (delete x l))
|
||||
(length l))
|
||||
(member x l))
|
||||
(equal (sort2 (delete x l))
|
||||
(delete x (sort2 l)))
|
||||
(equal (dsort x)
|
||||
(sort2 x))
|
||||
(equal (length (cons x1
|
||||
(cons x2
|
||||
(cons x3 (cons x4
|
||||
(cons x5
|
||||
(cons x6 x7)))))))
|
||||
(plus 6 (length x7)))
|
||||
(equal (difference (add1 (add1 x))
|
||||
2)
|
||||
(fix x))
|
||||
(equal (quotient (plus x (plus x y))
|
||||
2)
|
||||
(plus x (quotient y 2)))
|
||||
(equal (sigma (zero)
|
||||
i)
|
||||
(quotient (times i (add1 i))
|
||||
2))
|
||||
(equal (plus x (add1 y))
|
||||
(if (numberp y)
|
||||
(add1 (plus x y))
|
||||
(add1 x)))
|
||||
(equal (equal (difference x y)
|
||||
(difference z y))
|
||||
(if (lessp x y)
|
||||
(not (lessp y z))
|
||||
(if (lessp z y)
|
||||
(not (lessp y x))
|
||||
(equal (fix x)
|
||||
(fix z)))))
|
||||
(equal (meaning (plus-tree (delete x y))
|
||||
a)
|
||||
(if (member x y)
|
||||
(difference (meaning (plus-tree y)
|
||||
a)
|
||||
(meaning x a))
|
||||
(meaning (plus-tree y)
|
||||
a)))
|
||||
(equal (times x (add1 y))
|
||||
(if (numberp y)
|
||||
(plus x (times x y))
|
||||
(fix x)))
|
||||
(equal (nth (nil)
|
||||
i)
|
||||
(if (zerop i)
|
||||
(nil)
|
||||
(zero)))
|
||||
(equal (last (append a b))
|
||||
(if (listp b)
|
||||
(last b)
|
||||
(if (listp a)
|
||||
(cons (car (last a))
|
||||
b)
|
||||
b)))
|
||||
(equal (equal (lessp x y)
|
||||
z)
|
||||
(if (lessp x y)
|
||||
(equal (t) z)
|
||||
(equal (f) z)))
|
||||
(equal (assignment x (append a b))
|
||||
(if (assignedp x a)
|
||||
(assignment x a)
|
||||
(assignment x b)))
|
||||
(equal (car (gopher x))
|
||||
(if (listp x)
|
||||
(car (flatten x))
|
||||
(zero)))
|
||||
(equal (flatten (cdr (gopher x)))
|
||||
(if (listp x)
|
||||
(cdr (flatten x))
|
||||
(cons (zero)
|
||||
(nil))))
|
||||
(equal (quotient (times y x)
|
||||
y)
|
||||
(if (zerop y)
|
||||
(zero)
|
||||
(fix x)))
|
||||
(equal (get j (set i val mem))
|
||||
(if (eqp j i)
|
||||
val
|
||||
(get j mem)))))))
|
||||
|
||||
(define (add-lemma-lst lst)
|
||||
(cond ((null? lst)
|
||||
#t)
|
||||
(else (add-lemma (car lst))
|
||||
(add-lemma-lst (cdr lst)))))
|
||||
|
||||
(define (add-lemma term)
|
||||
(cond ((and (pair? term)
|
||||
(eq? (car term)
|
||||
(quote equal))
|
||||
(pair? (cadr term)))
|
||||
(put (car (cadr term))
|
||||
(quote lemmas)
|
||||
(cons
|
||||
(translate-term term)
|
||||
(get (car (cadr term)) (quote lemmas)))))
|
||||
(else (error "ADD-LEMMA did not like term: " term))))
|
||||
|
||||
; Translates a term by replacing its constructor symbols by symbol-records.
|
||||
|
||||
(define (translate-term term)
|
||||
(cond ((not (pair? term))
|
||||
term)
|
||||
(else (cons (symbol->symbol-record (car term))
|
||||
(translate-args (cdr term))))))
|
||||
|
||||
(define (translate-args lst)
|
||||
(cond ((null? lst)
|
||||
'())
|
||||
(else (cons (translate-term (car lst))
|
||||
(translate-args (cdr lst))))))
|
||||
|
||||
; For debugging only, so the use of MAP does not change
|
||||
; the first-order character of the benchmark.
|
||||
|
||||
(define (untranslate-term term)
|
||||
(cond ((not (pair? term))
|
||||
term)
|
||||
(else (cons (get-name (car term))
|
||||
(map untranslate-term (cdr term))))))
|
||||
|
||||
; A symbol-record is represented as a vector with two fields:
|
||||
; the symbol (for debugging) and
|
||||
; the list of lemmas associated with the symbol.
|
||||
|
||||
(define (put sym property value)
|
||||
(put-lemmas! (symbol->symbol-record sym) value))
|
||||
|
||||
(define (get sym property)
|
||||
(get-lemmas (symbol->symbol-record sym)))
|
||||
|
||||
(define (symbol->symbol-record sym)
|
||||
(let ((x (assq sym *symbol-records-alist*)))
|
||||
(if x
|
||||
(cdr x)
|
||||
(let ((r (make-symbol-record sym)))
|
||||
(set! *symbol-records-alist*
|
||||
(cons (cons sym r)
|
||||
*symbol-records-alist*))
|
||||
r))))
|
||||
|
||||
; Association list of symbols and symbol-records.
|
||||
|
||||
(define *symbol-records-alist* '())
|
||||
|
||||
; A symbol-record is represented as a vector with two fields:
|
||||
; the symbol (for debugging) and
|
||||
; the list of lemmas associated with the symbol.
|
||||
|
||||
(define (make-symbol-record sym)
|
||||
(vector sym '()))
|
||||
|
||||
(define (put-lemmas! symbol-record lemmas)
|
||||
(vector-set! symbol-record 1 lemmas))
|
||||
|
||||
(define (get-lemmas symbol-record)
|
||||
(vector-ref symbol-record 1))
|
||||
|
||||
(define (get-name symbol-record)
|
||||
(vector-ref symbol-record 0))
|
||||
|
||||
(define (symbol-record-equal? r1 r2)
|
||||
(eq? r1 r2))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;
|
||||
; The second phase.
|
||||
;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define (test n)
|
||||
(let ((term
|
||||
(apply-subst
|
||||
(translate-alist
|
||||
(quote ((x f (plus (plus a b)
|
||||
(plus c (zero))))
|
||||
(y f (times (times a b)
|
||||
(plus c d)))
|
||||
(z f (reverse (append (append a b)
|
||||
(nil))))
|
||||
(u equal (plus a b)
|
||||
(difference x y))
|
||||
(w lessp (remainder a b)
|
||||
(member a (length b))))))
|
||||
(translate-term
|
||||
(do ((term
|
||||
(quote (implies (and (implies x y)
|
||||
(and (implies y z)
|
||||
(and (implies z u)
|
||||
(implies u w))))
|
||||
(implies x w)))
|
||||
(list 'or term '(f)))
|
||||
(n n (- n 1)))
|
||||
((zero? n) term))))))
|
||||
(tautp term)))
|
||||
|
||||
(define (translate-alist alist)
|
||||
(cond ((null? alist)
|
||||
'())
|
||||
(else (cons (cons (caar alist)
|
||||
(translate-term (cdar alist)))
|
||||
(translate-alist (cdr alist))))))
|
||||
|
||||
(define (apply-subst alist term)
|
||||
(cond ((not (pair? term))
|
||||
(let ((temp-temp (assq term alist)))
|
||||
(if temp-temp
|
||||
(cdr temp-temp)
|
||||
term)))
|
||||
(else (cons (car term)
|
||||
(apply-subst-lst alist (cdr term))))))
|
||||
|
||||
(define (apply-subst-lst alist lst)
|
||||
(cond ((null? lst)
|
||||
'())
|
||||
(else (cons (apply-subst alist (car lst))
|
||||
(apply-subst-lst alist (cdr lst))))))
|
||||
|
||||
(define (tautp x)
|
||||
(tautologyp (rewrite x)
|
||||
'() '()))
|
||||
|
||||
(define (tautologyp x true-lst false-lst)
|
||||
(cond ((truep x true-lst)
|
||||
#t)
|
||||
((falsep x false-lst)
|
||||
#f)
|
||||
((not (pair? x))
|
||||
#f)
|
||||
((eq? (car x) if-constructor)
|
||||
(cond ((truep (cadr x)
|
||||
true-lst)
|
||||
(tautologyp (caddr x)
|
||||
true-lst false-lst))
|
||||
((falsep (cadr x)
|
||||
false-lst)
|
||||
(tautologyp (cadddr x)
|
||||
true-lst false-lst))
|
||||
(else (and (tautologyp (caddr x)
|
||||
(cons (cadr x)
|
||||
true-lst)
|
||||
false-lst)
|
||||
(tautologyp (cadddr x)
|
||||
true-lst
|
||||
(cons (cadr x)
|
||||
false-lst))))))
|
||||
(else #f)))
|
||||
|
||||
(define if-constructor '*) ; becomes (symbol->symbol-record 'if)
|
||||
|
||||
(define rewrite-count 0) ; sanity check
|
||||
|
||||
; The next procedure is Henry Baker's sharing CONS, which avoids
|
||||
; allocation if the result is already in hand.
|
||||
; The REWRITE and REWRITE-ARGS procedures have been modified to
|
||||
; use SCONS instead of CONS.
|
||||
|
||||
(define (scons x y original)
|
||||
(if (and (eq? x (car original))
|
||||
(eq? y (cdr original)))
|
||||
original
|
||||
(cons x y)))
|
||||
|
||||
(define (rewrite term)
|
||||
(set! rewrite-count (+ rewrite-count 1))
|
||||
(cond ((not (pair? term))
|
||||
term)
|
||||
(else (rewrite-with-lemmas (scons (car term)
|
||||
(rewrite-args (cdr term))
|
||||
term)
|
||||
(get-lemmas (car term))))))
|
||||
|
||||
(define (rewrite-args lst)
|
||||
(cond ((null? lst)
|
||||
'())
|
||||
(else (scons (rewrite (car lst))
|
||||
(rewrite-args (cdr lst))
|
||||
lst))))
|
||||
|
||||
(define (rewrite-with-lemmas term lst)
|
||||
(cond ((null? lst)
|
||||
term)
|
||||
((one-way-unify term (cadr (car lst)))
|
||||
(rewrite (apply-subst unify-subst (caddr (car lst)))))
|
||||
(else (rewrite-with-lemmas term (cdr lst)))))
|
||||
|
||||
(define unify-subst '*)
|
||||
|
||||
(define (one-way-unify term1 term2)
|
||||
(begin (set! unify-subst '())
|
||||
(one-way-unify1 term1 term2)))
|
||||
|
||||
(define (one-way-unify1 term1 term2)
|
||||
(cond ((not (pair? term2))
|
||||
(let ((temp-temp (assq term2 unify-subst)))
|
||||
(cond (temp-temp
|
||||
(term-equal? term1 (cdr temp-temp)))
|
||||
((number? term2) ; This bug fix makes
|
||||
(equal? term1 term2)) ; nboyer 10-25% slower!
|
||||
(else
|
||||
(set! unify-subst (cons (cons term2 term1)
|
||||
unify-subst))
|
||||
#t))))
|
||||
((not (pair? term1))
|
||||
#f)
|
||||
((eq? (car term1)
|
||||
(car term2))
|
||||
(one-way-unify1-lst (cdr term1)
|
||||
(cdr term2)))
|
||||
(else #f)))
|
||||
|
||||
(define (one-way-unify1-lst lst1 lst2)
|
||||
(cond ((null? lst1)
|
||||
(null? lst2))
|
||||
((null? lst2)
|
||||
#f)
|
||||
((one-way-unify1 (car lst1)
|
||||
(car lst2))
|
||||
(one-way-unify1-lst (cdr lst1)
|
||||
(cdr lst2)))
|
||||
(else #f)))
|
||||
|
||||
(define (falsep x lst)
|
||||
(or (term-equal? x false-term)
|
||||
(term-member? x lst)))
|
||||
|
||||
(define (truep x lst)
|
||||
(or (term-equal? x true-term)
|
||||
(term-member? x lst)))
|
||||
|
||||
(define false-term '*) ; becomes (translate-term '(f))
|
||||
(define true-term '*) ; becomes (translate-term '(t))
|
||||
|
||||
; The next two procedures were in the original benchmark
|
||||
; but were never used.
|
||||
|
||||
(define (trans-of-implies n)
|
||||
(translate-term
|
||||
(list (quote implies)
|
||||
(trans-of-implies1 n)
|
||||
(list (quote implies)
|
||||
0 n))))
|
||||
|
||||
(define (trans-of-implies1 n)
|
||||
(cond ((equal? n 1)
|
||||
(list (quote implies)
|
||||
0 1))
|
||||
(else (list (quote and)
|
||||
(list (quote implies)
|
||||
(- n 1)
|
||||
n)
|
||||
(trans-of-implies1 (- n 1))))))
|
||||
|
||||
; Translated terms can be circular structures, which can't be
|
||||
; compared using Scheme's equal? and member procedures, so we
|
||||
; use these instead.
|
||||
|
||||
(define (term-equal? x y)
|
||||
(cond ((pair? x)
|
||||
(and (pair? y)
|
||||
(symbol-record-equal? (car x) (car y))
|
||||
(term-args-equal? (cdr x) (cdr y))))
|
||||
(else (equal? x y))))
|
||||
|
||||
(define (term-args-equal? lst1 lst2)
|
||||
(cond ((null? lst1)
|
||||
(null? lst2))
|
||||
((null? lst2)
|
||||
#f)
|
||||
((term-equal? (car lst1) (car lst2))
|
||||
(term-args-equal? (cdr lst1) (cdr lst2)))
|
||||
(else #f)))
|
||||
|
||||
(define (term-member? x lst)
|
||||
(cond ((null? lst)
|
||||
#f)
|
||||
((term-equal? x (car lst))
|
||||
#t)
|
||||
(else (term-member? x (cdr lst)))))
|
||||
|
||||
(set! setup-boyer
|
||||
(lambda ()
|
||||
(set! *symbol-records-alist* '())
|
||||
(set! if-constructor (symbol->symbol-record 'if))
|
||||
(set! false-term (translate-term '(f)))
|
||||
(set! true-term (translate-term '(t)))
|
||||
(setup)))
|
||||
|
||||
(set! test-boyer
|
||||
(lambda (n)
|
||||
(set! rewrite-count 0)
|
||||
(let ((answer (test n)))
|
||||
(write rewrite-count)
|
||||
(display " rewrites")
|
||||
(newline)
|
||||
(if answer
|
||||
rewrite-count
|
||||
#f)))))
|
||||
10
samples/SugarSS/sample.sss
Normal file
10
samples/SugarSS/sample.sss
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-mixin size $size
|
||||
width: $size
|
||||
|
||||
$big: 100px
|
||||
|
||||
// Main block
|
||||
.block
|
||||
&_logo
|
||||
background: inline("./logo.png")
|
||||
@mixin size $big
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user