fixed USBDP pullup in Multistepper (it works always, so you can use DFU)

This commit is contained in:
Edward Emelianov 2023-02-06 20:05:45 +03:00
parent 756ed4be08
commit daf17a651e
54 changed files with 12332 additions and 9328 deletions

View File

@ -45,7 +45,7 @@
#define pin_toggle(gpioport, gpios) do{ \
register uint32_t __port = gpioport->ODR; \
gpioport->BSRR = ((__port & gpios) << 16) | (~__port & gpios);}while(0)
gpioport->BSRR = ((__port & (gpios)) << 16) | (~__port & (gpios));}while(0)
#define pin_set(gpioport, gpios) do{gpioport->BSRR = gpios;}while(0)
#define pin_clear(gpioport, gpios) do{gpioport->BSRR = ((gpios) << 16);}while(0)

View File

@ -22,9 +22,7 @@
#ifndef __COMMON_MACROS_H__
#define __COMMON_MACROS_H__
#ifndef TRUE_INLINE
#define TRUE_INLINE __attribute__((always_inline)) static inline
#endif
#include <stdint.h>
#ifndef TRUE
#define TRUE 1
@ -34,6 +32,10 @@
#define FALSE 0
#endif
#ifndef TRUE_INLINE
#define TRUE_INLINE __attribute__((always_inline)) static inline
#endif
#ifndef NULL
#define NULL (0)
#endif
@ -43,7 +45,7 @@
#define pin_toggle(gpioport, gpios) do{ \
register uint32_t __port = gpioport->ODR; \
gpioport->BSRR = ((__port & gpios) << 16) | (~__port & gpios);}while(0)
gpioport->BSRR = ((__port & (gpios)) << 16) | (~__port & (gpios));}while(0)
#define pin_set(gpioport, gpios) do{gpioport->BSRR = gpios;}while(0)
#define pin_clear(gpioport, gpios) do{gpioport->BSRR = ((gpios) << 16);}while(0)

Binary file not shown.

View File

@ -0,0 +1 @@
file helpcmds.in includes into proto.c as help list

View File

@ -0,0 +1,318 @@
/*
* Copyright 2022 Edward V. Emelianov <edward.emelianoff@gmail.com>.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <string.h>
#include <usefull_macros.h>
#include <ctype.h>
#define ALLOCSZ (5000)
typedef struct{
char *dict;
char *headerfile;
char *sourcefile;
int genfunc;
} glob_pars;
static glob_pars G = {.headerfile = "hash.h", .sourcefile = "hash.c"};
static int help = 0;
static myoption cmdlnopts[] = {
{"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), "show this help"},
{"dict", NEED_ARG, NULL, 'd', arg_string, APTR(&G.dict), "dictionary file"},
{"header", NEED_ARG, NULL, 'H', arg_string, APTR(&G.headerfile),"output header filename"},
{"source", NEED_ARG, NULL, 'S', arg_string, APTR(&G.sourcefile),"output source filename"},
{"genfunc", NO_ARGS, NULL, 'F', arg_int, APTR(&G.genfunc), "generate function bodys"},
end_option
};
static void parse_args(int argc, char **argv){
parseargs(&argc, &argv, cmdlnopts);
if(help) showhelp(-1, cmdlnopts);
if(argc > 0){
red("Unused arguments:\n");
for(int i = 0; i < argc; ++i)
printf("%s ", argv[i]);
printf("\n");
showhelp(-1, cmdlnopts);
}
}
#define HASHFNO (3)
// djb2 & sdbm: http://www.cse.yorku.ca/~oz/hash.html
static uint32_t djb2(const char *str){
uint32_t hash = 5381;
uint32_t c;
while((c = (uint32_t)*str++))
hash = ((hash << 7) + hash) + c;
//hash = hash * 31 + c;
//hash = hash * 33 + c;
return hash;
}
static uint32_t sdbm(const char *str){
uint32_t hash = 5381;
uint32_t c;
while((c = (uint32_t)*str++))
hash = c + (hash << 6) + (hash << 16) - hash;
return hash;
}
// jenkins: https://en.wikipedia.org/wiki/Jenkins_hash_function
static uint32_t jenkins(const char *str){
uint32_t hash = 0, c;
while((c = (uint32_t)*str++)){
hash += c;
hash += (hash << 10);
hash ^= (hash >> 6);
}
hash += (hash << 3);
hash ^= (hash >> 11);
hash += (hash << 15);
return hash;
}
static const char *hashsources[HASHFNO] = {
"static uint32_t hashf(const char *str){\n\
uint32_t hash = 5381;\n\
uint32_t c;\n\
while((c = (uint32_t)*str++))\n\
hash = ((hash << 7) + hash) + c;\n\
return hash;\n\
}\n",
"static uint32_t hashf(const char *str){\n\
uint32_t hash = 5381;\n\
uint32_t c;\n\
while((c = (uint32_t)*str++))\n\
hash = c + (hash << 6) + (hash << 16) - hash;\n\
return hash;\n\
}\n",
"static uint32_t hashf(const char *str){\n\
uint32_t hash = 0, c;\n\
while((c = (uint32_t)*str++)){\n\
hash += c;\n\
hash += (hash << 10);\n\
hash ^= (hash >> 6);\n\
}\n\
hash += (hash << 3);\n\
hash ^= (hash >> 11);\n\
hash += (hash << 15);\n\
return hash;\n\
}\n"
};
static uint32_t (*hash[HASHFNO])(const char *str) = {djb2, sdbm, jenkins};
static const char *hashnames[HASHFNO] = {"DJB2", "SDBM", "Jenkins"};
typedef struct{
char str[32]; // string command
char fname[32]; // function namee
uint32_t hash; // command hash
} strhash;
static int sorthashesH(const void *a, const void *b){ // sort by hash
register uint32_t h1 = ((strhash*)a)->hash, h2 = ((strhash*)b)->hash;
if(h1 > h2) return 1;
else if(h1 < h2) return -1;
return 0;
}
static int sorthashesS(const void *a, const void *b){ // sort by string
char *s1 = ((strhash*)a)->str, *s2 = ((strhash*)b)->str;
return strcmp(s1, s2);
}
static int sorthashesF(const void *a, const void *b){ // sort by fname
char *s1 = ((strhash*)a)->fname, *s2 = ((strhash*)b)->fname;
return strcmp(s1, s2);
}
static FILE *openoutp(const char *name){
FILE *f = fopen(name, "w");
if(!f) ERR("Can't open file %s", name);
return f;
}
static char *macroname(const char *cmd){
static char macro[32];
int i = 0;
while(i < 31 && *cmd){
char c = *cmd++;
if(!isalnum(c)) c = '_';
if(islower(c)) c = toupper(c);
macro[i++] = c;
}
macro[i] = 0;
return macro;
}
static char *fnname(const char *cmd){
static char fn[32];
int i = 0;
while(i < 31 && *cmd){
char c = *cmd++;
if(!isalpha(c)) c = '_';
if(isupper(c)) c = tolower(c);
fn[i++] = c;
}
fn[i] = 0;
return fn;
}
static const char *fhdr =
"int parsecmd(const char *str){\n\
char cmd[CMD_MAXLEN + 1];\n\
if(!str || !*str) return RET_CMDNOTFOUND;\n\
int i = 0;\n\
while(*str > '@' && i < CMD_MAXLEN){ cmd[i++] = *str++; }\n\
cmd[i] = 0;\n\
if(*str){\n\
while(*str <= ' ') ++str;\n\
}\n\
char *args = (char*) str;\n\
uint32_t h = hashf(cmd);\n\
switch(h){\n\n"
;
static const char *ffooter =
" default: break;\n\
}\n\
return RET_CMDNOTFOUND;\n\
}\n\n"
;
static const char *fns =
"int fn_%s(_U_ uint32_t hash, _U_ char *args) WAL; // \"%s\" (%u)\n\n"
;
static const char *headercontent =
"#ifndef _U_\n\
#define _U_ __attribute__((__unused__))\n\
#endif\n\n\
#define CMD_MAXLEN (32)\n\n\
enum{\n\
RET_CMDNOTFOUND = -2,\n\
RET_WRONGCMD = -1,\n\
RET_BAD = 0,\n\
RET_GOOD = 1\n\
};\n\n\
int parsecmd(const char *cmdwargs);\n\n";
static const char *sw =
" case CMD_%s:\n\
return fn_%s(h, args);\n\
break;\n";
static const char *srchdr =
"// Generated by HASHGEN (https://github.com/eddyem/eddys_snippets/tree/master/stringHash4MCU_)\n\
// Licensed by GPLv3\n\
#include <stdint.h>\n\
#include <stddef.h>\n\
#include \"%s\"\n\n\
#ifndef WAL\n\
#define WAL __attribute__ ((weak, alias (\"__f1\")))\n\
#endif\n\nstatic int __f1(_U_ uint32_t h, _U_ char *a){return 1;}\n\n"
;
static void build(strhash *H, int hno, int hlen){
green("Generate files for hash function '%s'\n", hashnames[hno]);
int lmax = 1;
for(int i = 0; i < hlen; ++i){
int l = strlen(H[i].str);
if(l > lmax){
lmax = l;
}
}
lmax = (lmax + 3)/4;
lmax *= 4;
// resort H by strings
qsort(H, hlen, sizeof(strhash), sorthashesS);
FILE *source = openoutp(G.sourcefile), *header = openoutp(G.headerfile);
fprintf(source, srchdr, G.headerfile);
if(G.genfunc){
for(int i = 0; i < hlen; ++i){
fprintf(source, fns, H[i].fname, H[i].str, H[i].hash);
}
}
fprintf(header, "%s", headercontent);
fprintf(source, "%s\n", hashsources[hno]);
fprintf(source, "%s", fhdr);
for(int i = 0; i < hlen; ++i){
char *m = macroname(H[i].str);
fprintf(source, sw, m, H[i].fname);
fprintf(header, "#define CMD_%-*s (%u)\n", lmax, m, H[i].hash);
}
fprintf(source, "%s", ffooter);
fclose(source);
fclose(header);
}
int main(int argc, char **argv){
initial_setup();
parse_args(argc, argv);
if(!G.dict) ERRX("point dictionary file");
if(!G.headerfile) ERRX("point header source file");
if(!G.sourcefile) ERRX("point c source file");
mmapbuf *b = My_mmap(G.dict);
if(!b) ERRX("Can't open %s", G.dict);
char *word = b->data;
strhash *H = MALLOC(strhash, ALLOCSZ);
int l = ALLOCSZ, idx = 0;
while(*word){
if(idx >= l){
l += ALLOCSZ;
H = realloc(H, sizeof(strhash) * l);
if(!H) ERR("realloc()");
}
while(*word && *word < 33) ++word;
if(!*word) break;
char *nxt = strchr(word, '\n');
if(nxt){
int len = nxt - word;
if(len > 31) len = 31;
strncpy(H[idx].str, word, len);
H[idx].str[len] = 0;
}else{
snprintf(H[idx].str, 31, "%s", word);
}
snprintf(H[idx].fname, 31, "%s", fnname(H[idx].str));
++idx;
if(!nxt) break;
word = nxt + 1;
}
// test fname matches
qsort(H, idx, sizeof(strhash), sorthashesF);
int mflag = 0;
int imax1 = idx - 1, hno = 0;
for(int i = 0; i < imax1; ++i){ // test hash matches
if(0 == strcmp(H[i].fname, H[i+1].fname)){
mflag = 1;
WARNX("Have two similar function names for '%s' and '%s': 'fn_%s'",
H[i].str, H[i+1].str, H[i].fname);
}
}
if(mflag) ERRX("Can't generate code when names of some functions matches");
for(; hno < HASHFNO; ++hno){
for(int i = 0; i < idx; ++i)
H[i].hash = hash[hno](H[i].str);
qsort(H, idx, sizeof(strhash), sorthashesH);
strhash *p = H;
int nmatches = 0;
for(int i = 0; i < imax1; ++i, ++p){ // test hash matches
if(p->hash == p[1].hash) ++nmatches;
}
if(nmatches == 0){
build(H, hno, idx);
break;
}
WARNX("Function '%s' have %d matches", hashnames[hno], nmatches);
}
if(hno == HASHFNO) WARNX("Can't find proper hash function");
FREE(H);
My_munmap(b);
return 0;
}

View File

@ -0,0 +1,318 @@
// Generated by HASHGEN (https://github.com/eddyem/eddys_snippets/tree/master/stringHash4MCU_)
// Licensed by GPLv3
#include <stdint.h>
#include <stddef.h>
#include "hdr.h"
#ifndef WAL
#define WAL __attribute__ ((weak, alias ("__f1")))
#endif
static int __f1(_U_ uint32_t h, _U_ char *a){return 1;}
int fn_abspos(_U_ uint32_t hash, _U_ char *args) WAL; // "abspos" (3056382221)
int fn_accel(_U_ uint32_t hash, _U_ char *args) WAL; // "accel" (1490521981)
int fn_adc(_U_ uint32_t hash, _U_ char *args) WAL; // "adc" (2963026093)
int fn_button(_U_ uint32_t hash, _U_ char *args) WAL; // "button" (1093508897)
int fn_canerrcodes(_U_ uint32_t hash, _U_ char *args) WAL; // "canerrcodes" (1736697870)
int fn_canfilter(_U_ uint32_t hash, _U_ char *args) WAL; // "canfilter" (3964416573)
int fn_canflood(_U_ uint32_t hash, _U_ char *args) WAL; // "canflood" (1235816779)
int fn_canfloodt(_U_ uint32_t hash, _U_ char *args) WAL; // "canfloodT" (506574623)
int fn_canid(_U_ uint32_t hash, _U_ char *args) WAL; // "canid" (2040257924)
int fn_canignore(_U_ uint32_t hash, _U_ char *args) WAL; // "canignore" (3209755195)
int fn_canincrflood(_U_ uint32_t hash, _U_ char *args) WAL; // "canincrflood" (3987155959)
int fn_canpause(_U_ uint32_t hash, _U_ char *args) WAL; // "canpause" (3981532373)
int fn_canreinit(_U_ uint32_t hash, _U_ char *args) WAL; // "canreinit" (2030075842)
int fn_canresume(_U_ uint32_t hash, _U_ char *args) WAL; // "canresume" (2051659720)
int fn_cansend(_U_ uint32_t hash, _U_ char *args) WAL; // "cansend" (237136225)
int fn_canspeed(_U_ uint32_t hash, _U_ char *args) WAL; // "canspeed" (549265992)
int fn_canstat(_U_ uint32_t hash, _U_ char *args) WAL; // "canstat" (237384179)
int fn_delignlist(_U_ uint32_t hash, _U_ char *args) WAL; // "delignlist" (2235834164)
int fn_diagn(_U_ uint32_t hash, _U_ char *args) WAL; // "diagn" (2334137736)
int fn_dumpcmd(_U_ uint32_t hash, _U_ char *args) WAL; // "dumpcmd" (1223955823)
int fn_dumpconf(_U_ uint32_t hash, _U_ char *args) WAL; // "dumpconf" (3271513185)
int fn_dumperr(_U_ uint32_t hash, _U_ char *args) WAL; // "dumperr" (1223989764)
int fn_emstop(_U_ uint32_t hash, _U_ char *args) WAL; // "emstop" (2965919005)
int fn_encpos(_U_ uint32_t hash, _U_ char *args) WAL; // "encpos" (3208428301)
int fn_encrev(_U_ uint32_t hash, _U_ char *args) WAL; // "encrev" (3208460296)
int fn_encstepmax(_U_ uint32_t hash, _U_ char *args) WAL; // "encstepmax" (1022989757)
int fn_encstepmin(_U_ uint32_t hash, _U_ char *args) WAL; // "encstepmin" (1022990779)
int fn_eraseflash(_U_ uint32_t hash, _U_ char *args) WAL; // "eraseflash" (3177247267)
int fn_esw(_U_ uint32_t hash, _U_ char *args) WAL; // "esw" (2963094612)
int fn_eswreact(_U_ uint32_t hash, _U_ char *args) WAL; // "eswreact" (1614224995)
int fn_goto(_U_ uint32_t hash, _U_ char *args) WAL; // "goto" (4286309438)
int fn_gotoz(_U_ uint32_t hash, _U_ char *args) WAL; // "gotoz" (3178103736)
int fn_gpio(_U_ uint32_t hash, _U_ char *args) WAL; // "gpio" (4286324660)
int fn_gpioconf(_U_ uint32_t hash, _U_ char *args) WAL; // "gpioconf" (1309721562)
int fn_maxspeed(_U_ uint32_t hash, _U_ char *args) WAL; // "maxspeed" (1498078812)
int fn_maxsteps(_U_ uint32_t hash, _U_ char *args) WAL; // "maxsteps" (1506667002)
int fn_mcut(_U_ uint32_t hash, _U_ char *args) WAL; // "mcut" (4022718)
int fn_mcuvdd(_U_ uint32_t hash, _U_ char *args) WAL; // "mcuvdd" (2517587080)
int fn_microsteps(_U_ uint32_t hash, _U_ char *args) WAL; // "microsteps" (3974395854)
int fn_minspeed(_U_ uint32_t hash, _U_ char *args) WAL; // "minspeed" (3234848090)
int fn_motflags(_U_ uint32_t hash, _U_ char *args) WAL; // "motflags" (2153634658)
int fn_motmul(_U_ uint32_t hash, _U_ char *args) WAL; // "motmul" (1543400099)
int fn_motreinit(_U_ uint32_t hash, _U_ char *args) WAL; // "motreinit" (199682784)
int fn_ping(_U_ uint32_t hash, _U_ char *args) WAL; // "ping" (10561715)
int fn_relpos(_U_ uint32_t hash, _U_ char *args) WAL; // "relpos" (1278646042)
int fn_relslow(_U_ uint32_t hash, _U_ char *args) WAL; // "relslow" (1742971917)
int fn_reset(_U_ uint32_t hash, _U_ char *args) WAL; // "reset" (1907803304)
int fn_saveconf(_U_ uint32_t hash, _U_ char *args) WAL; // "saveconf" (141102426)
int fn_screen(_U_ uint32_t hash, _U_ char *args) WAL; // "screen" (2100809349)
int fn_speedlimit(_U_ uint32_t hash, _U_ char *args) WAL; // "speedlimit" (1654184245)
int fn_state(_U_ uint32_t hash, _U_ char *args) WAL; // "state" (2216628902)
int fn_stop(_U_ uint32_t hash, _U_ char *args) WAL; // "stop" (17184971)
int fn_time(_U_ uint32_t hash, _U_ char *args) WAL; // "time" (19148340)
int fn_tmcbus(_U_ uint32_t hash, _U_ char *args) WAL; // "tmcbus" (1906135955)
int fn_udata(_U_ uint32_t hash, _U_ char *args) WAL; // "udata" (2736127636)
int fn_usartstatus(_U_ uint32_t hash, _U_ char *args) WAL; // "usartstatus" (4007098968)
static uint32_t hashf(const char *str){
uint32_t hash = 5381;
uint32_t c;
while((c = (uint32_t)*str++))
hash = ((hash << 7) + hash) + c;
return hash;
}
int parsecmd(const char *str){
char cmd[CMD_MAXLEN + 1];
if(!str || !*str) return RET_CMDNOTFOUND;
int i = 0;
while(*str > '@' && i < CMD_MAXLEN){ cmd[i++] = *str++; }
cmd[i] = 0;
if(*str){
while(*str <= ' ') ++str;
}
char *args = (char*) str;
uint32_t h = hashf(cmd);
switch(h){
case CMD_ABSPOS:
return fn_abspos(h, args);
break;
case CMD_ACCEL:
return fn_accel(h, args);
break;
case CMD_ADC:
return fn_adc(h, args);
break;
case CMD_BUTTON:
return fn_button(h, args);
break;
case CMD_CANERRCODES:
return fn_canerrcodes(h, args);
break;
case CMD_CANFILTER:
return fn_canfilter(h, args);
break;
case CMD_CANFLOOD:
return fn_canflood(h, args);
break;
case CMD_CANFLOODT:
return fn_canfloodt(h, args);
break;
case CMD_CANID:
return fn_canid(h, args);
break;
case CMD_CANIGNORE:
return fn_canignore(h, args);
break;
case CMD_CANINCRFLOOD:
return fn_canincrflood(h, args);
break;
case CMD_CANPAUSE:
return fn_canpause(h, args);
break;
case CMD_CANREINIT:
return fn_canreinit(h, args);
break;
case CMD_CANRESUME:
return fn_canresume(h, args);
break;
case CMD_CANSEND:
return fn_cansend(h, args);
break;
case CMD_CANSPEED:
return fn_canspeed(h, args);
break;
case CMD_CANSTAT:
return fn_canstat(h, args);
break;
case CMD_DELIGNLIST:
return fn_delignlist(h, args);
break;
case CMD_DIAGN:
return fn_diagn(h, args);
break;
case CMD_DUMPCMD:
return fn_dumpcmd(h, args);
break;
case CMD_DUMPCONF:
return fn_dumpconf(h, args);
break;
case CMD_DUMPERR:
return fn_dumperr(h, args);
break;
case CMD_EMSTOP:
return fn_emstop(h, args);
break;
case CMD_ENCPOS:
return fn_encpos(h, args);
break;
case CMD_ENCREV:
return fn_encrev(h, args);
break;
case CMD_ENCSTEPMAX:
return fn_encstepmax(h, args);
break;
case CMD_ENCSTEPMIN:
return fn_encstepmin(h, args);
break;
case CMD_ERASEFLASH:
return fn_eraseflash(h, args);
break;
case CMD_ESW:
return fn_esw(h, args);
break;
case CMD_ESWREACT:
return fn_eswreact(h, args);
break;
case CMD_GOTO:
return fn_goto(h, args);
break;
case CMD_GOTOZ:
return fn_gotoz(h, args);
break;
case CMD_GPIO:
return fn_gpio(h, args);
break;
case CMD_GPIOCONF:
return fn_gpioconf(h, args);
break;
case CMD_MAXSPEED:
return fn_maxspeed(h, args);
break;
case CMD_MAXSTEPS:
return fn_maxsteps(h, args);
break;
case CMD_MCUT:
return fn_mcut(h, args);
break;
case CMD_MCUVDD:
return fn_mcuvdd(h, args);
break;
case CMD_MICROSTEPS:
return fn_microsteps(h, args);
break;
case CMD_MINSPEED:
return fn_minspeed(h, args);
break;
case CMD_MOTFLAGS:
return fn_motflags(h, args);
break;
case CMD_MOTMUL:
return fn_motmul(h, args);
break;
case CMD_MOTREINIT:
return fn_motreinit(h, args);
break;
case CMD_PING:
return fn_ping(h, args);
break;
case CMD_RELPOS:
return fn_relpos(h, args);
break;
case CMD_RELSLOW:
return fn_relslow(h, args);
break;
case CMD_RESET:
return fn_reset(h, args);
break;
case CMD_SAVECONF:
return fn_saveconf(h, args);
break;
case CMD_SCREEN:
return fn_screen(h, args);
break;
case CMD_SPEEDLIMIT:
return fn_speedlimit(h, args);
break;
case CMD_STATE:
return fn_state(h, args);
break;
case CMD_STOP:
return fn_stop(h, args);
break;
case CMD_TIME:
return fn_time(h, args);
break;
case CMD_TMCBUS:
return fn_tmcbus(h, args);
break;
case CMD_UDATA:
return fn_udata(h, args);
break;
case CMD_USARTSTATUS:
return fn_usartstatus(h, args);
break;
default: break;
}
return RET_CMDNOTFOUND;
}

View File

@ -0,0 +1,71 @@
#ifndef _U_
#define _U_ __attribute__((__unused__))
#endif
#define CMD_MAXLEN (32)
enum{
RET_CMDNOTFOUND = -2,
RET_WRONGCMD = -1,
RET_BAD = 0,
RET_GOOD = 1
};
int parsecmd(const char *cmdwargs);
#define CMD_ABSPOS (3056382221)
#define CMD_ACCEL (1490521981)
#define CMD_ADC (2963026093)
#define CMD_BUTTON (1093508897)
#define CMD_CANERRCODES (1736697870)
#define CMD_CANFILTER (3964416573)
#define CMD_CANFLOOD (1235816779)
#define CMD_CANFLOODT (506574623)
#define CMD_CANID (2040257924)
#define CMD_CANIGNORE (3209755195)
#define CMD_CANINCRFLOOD (3987155959)
#define CMD_CANPAUSE (3981532373)
#define CMD_CANREINIT (2030075842)
#define CMD_CANRESUME (2051659720)
#define CMD_CANSEND (237136225)
#define CMD_CANSPEED (549265992)
#define CMD_CANSTAT (237384179)
#define CMD_DELIGNLIST (2235834164)
#define CMD_DIAGN (2334137736)
#define CMD_DUMPCMD (1223955823)
#define CMD_DUMPCONF (3271513185)
#define CMD_DUMPERR (1223989764)
#define CMD_EMSTOP (2965919005)
#define CMD_ENCPOS (3208428301)
#define CMD_ENCREV (3208460296)
#define CMD_ENCSTEPMAX (1022989757)
#define CMD_ENCSTEPMIN (1022990779)
#define CMD_ERASEFLASH (3177247267)
#define CMD_ESW (2963094612)
#define CMD_ESWREACT (1614224995)
#define CMD_GOTO (4286309438)
#define CMD_GOTOZ (3178103736)
#define CMD_GPIO (4286324660)
#define CMD_GPIOCONF (1309721562)
#define CMD_MAXSPEED (1498078812)
#define CMD_MAXSTEPS (1506667002)
#define CMD_MCUT (4022718)
#define CMD_MCUVDD (2517587080)
#define CMD_MICROSTEPS (3974395854)
#define CMD_MINSPEED (3234848090)
#define CMD_MOTFLAGS (2153634658)
#define CMD_MOTMUL (1543400099)
#define CMD_MOTREINIT (199682784)
#define CMD_PING (10561715)
#define CMD_RELPOS (1278646042)
#define CMD_RELSLOW (1742971917)
#define CMD_RESET (1907803304)
#define CMD_SAVECONF (141102426)
#define CMD_SCREEN (2100809349)
#define CMD_SPEEDLIMIT (1654184245)
#define CMD_STATE (2216628902)
#define CMD_STOP (17184971)
#define CMD_TIME (19148340)
#define CMD_TMCBUS (1906135955)
#define CMD_UDATA (2736127636)
#define CMD_USARTSTATUS (4007098968)

View File

@ -0,0 +1,56 @@
"absposN* - GS absolute position (in steps, setter just changes current value)\n"
"accelN* - GS accel/decel (steps/s^2)\n"
"adcN* - G ADC value (N=0..3)\n"
"button[N]* - G all or given (N=0..6) buttons' state\n"
"canerrcodes - G print last CAN errcodes\n"
"canfilter - GS can filters, format: bank# FIFO# mode(M/I) num0 [num1 [num2 [num3]]]\n"
"canflood - send/clear flood message: ID byte0 ... byteN\n"
"canfloodT - GS flood period (>=0ms)\n"
"canid* - GS CAN ID of device\n"
"canignore - GS ignore list (max 10 IDs), negative to delete\n"
"canincrflood - send incremental flood message (ID is last for 'flood', stop by 'flood')\n"
"canpause - pause IN packets displaying\n"
"canreinit - reinit CAN\n"
"canresume - resume IN packets displaying\n"
"cansend - send data over CAN: send ID byte0 .. byteN (N<8)\n"
"canspeed - GS CAN speed (reinit if setter)\n"
"canstat - G CAN status\n"
"delignlist* - delete ignore list\n"
"diagn[N] - G DIAG state of motor N (or all)\n"
"dumperr* - dump error codes\n"
"dumpcmd* - dump command codes\n"
"dumpconf* - dump current configuration\n"
"emstop[N]* - emergency stop motor N or all\n"
"encposN* - GS encoder's position\n"
"encrevN* - GS max encoder's pulses per revolution\n"
"encstepmaxN* - GS maximal encoder ticks per step\n"
"encstepminN* - GS minimal encoder ticks per step\n"
"eraseflash* - erase flash data storage\n"
"esw[N]* - G end-switches state\n"
"eswreactN* - GS end-switches reaction (0 - ignore, 1 - stop@any, 2 - stop@zero)\n"
"gotoN* - GS move motor to given absolute position\n"
"gotozN* - find zero position & refresh counters\n"
"gpioconfN* - GS GPIO configuration (0 - PUin, 1 - PPout, 2 - ODout), N=0..2\n"
"gpioN* - GS GPIO values, N=0..2\n"
"maxspeedN* - GS max speed (steps per sec)\n"
"maxstepsN* - GS max steps (from zero ESW)\n"
"mcut* - G MCU T\n"
"mcuvdd* - G MCU Vdd\n"
"microstepsN* - GS microsteps settings (2^0..2^9)\n"
"minspeedN* - min speed (steps per sec)\n"
"motflagsN* - motorN flags\n"
"motmul* - GS external multiplexer status (<0 - disable, 0..7 - enable and set address)\n"
"motreinit* - re-init motors after configuration changed\n"
"ping* - echo given command back\n"
"relposN* - GS relative move (get remaining)\n"
"relslowN* - GS like 'relpos' but with slowest speed\n"
"reset* - software reset\n"
"saveconf* - save current configuration\n"
"screen* - GS screen enable (1) or disable (0)\n"
"speedlimit* - G limiting speed for current microsteps setting\n"
"stateN* - G motor state (0-relax, 1-accel, 2-move, 3-mvslow, 4-decel, 5-stall, 6-err)\n"
"stopN* - stop motor with deceleration\n"
"time* - G time from start (ms)\n"
"tmcbus* - GS TMC control bus (0 - USART, 1 - SPI)\n"
"udata - GS data by usart in slave mode (text strings, '\\n'-terminated)\n"
"usartstatus* - GS status of USART1 (0 - off, 1 - master, 2 - slave)\n"

View File

@ -0,0 +1,4 @@
#!/bin/bash
awk '{print $1}' helpcmds.in |sed -e 's/"//' -e 's/\*//' -e 's/\[.*//' -e 's/N//' > testdic
./hashgen -d testdic -H hdr.h -S hdr.c -F

View File

@ -0,0 +1,10 @@
#!/bin/bash
gcc hashgen.c -o hashgen -lusefull_macros
./hashgen -d testdic -H hdr.h -S hdr.c -F
gcc hdr.c test.c strfunc.c -o test
./test "time 54 = some"
./test "voltage12 more"
./test "esw45 = some text"
./test "goto 55 = "
./test "stop 3256"

View File

@ -0,0 +1,256 @@
#include "strfunc.h"
/**
* @brief hexdump - dump hex array by 16 bytes in string
* @param sendfun - function to send data
* @param arr - array to dump
* @param len - length of `arr`
*/
void hexdump(int (*sendfun)(const char *s), uint8_t *arr, uint16_t len){
char buf[52], *bptr = buf;
for(uint16_t l = 0; l < len; ++l, ++arr){
for(int16_t j = 1; j > -1; --j){
register uint8_t half = (*arr >> (4*j)) & 0x0f;
if(half < 10) *bptr++ = half + '0';
else *bptr++ = half - 10 + 'a';
}
if(l % 16 == 15){
*bptr++ = '\n';
*bptr = 0;
sendfun(buf);
bptr = buf;
}else *bptr++ = ' ';
}
if(bptr != buf){
*bptr++ = '\n';
*bptr = 0;
sendfun(buf);
}
}
/**
* @brief _2str - convert value into string buffer
* @param val - |value|
* @param minus - ==0 if value > 0
* @return buffer with number
*/
static char *_2str(uint32_t val, uint8_t minus){
static char strbuf[12];
char *bufptr = &strbuf[11];
*bufptr = 0;
if(!val){
*(--bufptr) = '0';
}else{
while(val){
uint32_t x = val / 10;
*(--bufptr) = (val - 10*x) + '0';
val = x;
//*(--bufptr) = val % 10 + '0';
//val /= 10;
}
}
if(minus) *(--bufptr) = '-';
return bufptr;
}
// return string with number `val`
char *u2str(uint32_t val){
return _2str(val, 0);
}
char *i2str(int32_t i){
uint8_t minus = 0;
uint32_t val;
if(i < 0){
minus = 1;
val = -i;
}else val = i;
return _2str(val, minus);
}
/**
* @brief uhex2str - print 32bit unsigned int as hex
* @param val - value
* @return string with number
*/
char *uhex2str(uint32_t val){
static char buf[12] = "0x";
int npos = 2;
uint8_t *ptr = (uint8_t*)&val + 3;
int8_t i, j, z=1;
for(i = 0; i < 4; ++i, --ptr){
if(*ptr == 0){ // omit leading zeros
if(i == 3) z = 0;
if(z) continue;
}
else z = 0;
for(j = 1; j > -1; --j){
uint8_t half = (*ptr >> (4*j)) & 0x0f;
if(half < 10) buf[npos++] = half + '0';
else buf[npos++] = half - 10 + 'a';
}
}
buf[npos] = 0;
return buf;
}
/**
* @brief omit_spaces - eliminate leading spaces and other trash in string
* @param buf - string
* @return - pointer to first character in `buf` > ' '
*/
const char *omit_spaces(const char *buf){
while(*buf){
if(*buf > ' ') break;
++buf;
}
return buf;
}
/**
* @brief getdec - read decimal number & return pointer to next non-number symbol
* @param buf - string
* @param N - number read
* @return Next non-number symbol. In case of overflow return `buf` and N==0xffffffff
*/
static const char *getdec(const char *buf, uint32_t *N){
char *start = (char*)buf;
uint32_t num = 0;
while(*buf){
char c = *buf;
if(c < '0' || c > '9'){
break;
}
if(num > 429496729 || (num == 429496729 && c > '5')){ // overflow
*N = 0xffffff;
return start;
}
num *= 10;
num += c - '0';
++buf;
}
*N = num;
return buf;
}
// read hexadecimal number (without 0x prefix!)
static const char *gethex(const char *buf, uint32_t *N){
const char *start = buf;
uint32_t num = 0;
while(*buf){
char c = *buf;
uint8_t M = 0;
if(c >= '0' && c <= '9'){
M = '0';
}else if(c >= 'A' && c <= 'F'){
M = 'A' - 10;
}else if(c >= 'a' && c <= 'f'){
M = 'a' - 10;
}
if(M){
if(num & 0xf0000000){ // overflow
*N = 0xffffff;
return start;
}
num <<= 4;
num += c - M;
}else{
break;
}
++buf;
}
*N = num;
return buf;
}
// read octal number (without 0 prefix!)
static const char *getoct(const char *buf, uint32_t *N){
const char *start = (char*)buf;
uint32_t num = 0;
while(*buf){
char c = *buf;
if(c < '0' || c > '7'){
break;
}
if(num & 0xe0000000){ // overflow
*N = 0xffffff;
return start;
}
num <<= 3;
num += c - '0';
++buf;
}
*N = num;
return buf;
}
// read binary number (without b prefix!)
static const char *getbin(const char *buf, uint32_t *N){
const char *start = (char*)buf;
uint32_t num = 0;
while(*buf){
char c = *buf;
if(c < '0' || c > '1'){
break;
}
if(num & 0x80000000){ // overflow
*N = 0xffffff;
return start;
}
num <<= 1;
if(c == '1') num |= 1;
++buf;
}
*N = num;
return buf;
}
/**
* @brief getnum - read uint32_t from string (dec, hex or bin: 127, 0x7f, 0b1111111)
* @param buf - buffer with number and so on
* @param N - the number read
* @return pointer to first non-number symbol in buf
* (if it is == buf, there's no number or if *N==0xffffffff there was overflow)
*/
const char *getnum(const char *txt, uint32_t *N){
const char *nxt = NULL;
const char *s = omit_spaces(txt);
if(*s == '0'){ // hex, oct or 0
if(s[1] == 'x' || s[1] == 'X'){ // hex
nxt = gethex(s+2, N);
if(nxt == s+2) nxt = (char*)txt;
}else if(s[1] > '0'-1 && s[1] < '8'){ // oct
nxt = getoct(s+1, N);
if(nxt == s+1) nxt = (char*)txt;
}else{ // 0
nxt = s+1;
*N = 0;
}
}else if(*s == 'b' || *s == 'B'){
nxt = getbin(s+1, N);
if(nxt == s+1) nxt = (char*)txt;
}else{
nxt = getdec(s, N);
if(nxt == s) nxt = (char*)txt;
}
return nxt;
}
// get signed integer
const char *getint(const char *txt, int32_t *I){
const char *s = omit_spaces(txt);
int32_t sign = 1;
uint32_t U;
if(*s == '-'){
sign = -1;
++s;
}
const char *nxt = getnum(s, &U);
if(nxt == s) return txt;
if(U & 0x80000000) return txt; // overfull
*I = sign * (int32_t)U;
return nxt;
}
/*
void mymemcpy(char *dest, const char *src, int len){
if(len < 1) return;
while(len--) *dest++ = *src++;
}
*/

View File

@ -0,0 +1,13 @@
#pragma once
#include <stdint.h>
#include <string.h>
void hexdump(int (*sendfun)(const char *s), uint8_t *arr, uint16_t len);
char *u2str(uint32_t val);
char *i2str(int32_t i);
char *uhex2str(uint32_t val);
const char *getnum(const char *txt, uint32_t *N);
const char *omit_spaces(const char *buf);
const char *getint(const char *txt, int32_t *I);
//void mymemcpy(char *dest, const char *src, int len);

View File

@ -0,0 +1,62 @@
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include "hdr.h"
#include "strfunc.h"
static int noargs(uint32_t hash){
switch(hash){
case CMD_REBOOT: printf("REBOOT\n"); break;
case CMD_TIME: printf("TIME!\n"); break;
case CMD_TEMP: printf("Temp\n"); break;
default: printf("Unknown hash 0x%x\n", hash); return 0;
}
return 1;
}
static int withparno(uint32_t hash, char *args){
uint32_t N;
//printf("args=%s\n", args);
const char *nxt = getnum((const char*)args, &N);
if(nxt == args){ printf("need arg\n"); return RET_WRONGCMD; }
args = (char*)omit_spaces(nxt);
if(*args){
if(*args != '='){ printf("need nothing or '=' after par\n"); return RET_WRONGCMD; }
args = (char*)omit_spaces(args+1);
// we can check in next functions what if `args` will be an empty string
}
else args = NULL;
const char *fname = NULL;
switch(hash){
case CMD_ESW: fname = "ESW"; break;
case CMD_GOTO: fname = "GOTO"; break;
case CMD_POS: fname = "POS"; break;
case CMD_STOP: fname = "STOP"; break;
default: fname = "unknown";
}
if(!args) printf("We want a getter '%s' with par %u\n", fname, N);
else printf("We want a setter '%s' with par %u and arg '%s'\n", fname, N, args);
if(N > 255){ printf("N should be 0..255\n"); return RET_BAD;}
return RET_GOOD;
}
// these functions should be global to substitute weak aliases
int fn_esw(uint32_t hash, char *args){return withparno(hash, args);}
int fn_goto(uint32_t hash, char *args){return withparno(hash, args);}
int fn_pos(uint32_t hash, char *args){return withparno(hash, args);}
int fn_stop(uint32_t hash, char *args){return withparno(hash, args);}
int fn_voltage(uint32_t hash, char *args){return withparno(hash, args);}
int fn_reboot(uint32_t hash, _U_ char *args){return noargs(hash);}
int fn_time(uint32_t hash, _U_ char *args){return noargs(hash);}
int fn_temp(uint32_t hash, _U_ char *args){return noargs(hash);}
int main(int argc, char **argv){
if(argc != 2) return 1;
int ret = parsecmd(argv[1]);
switch(ret){
case RET_CMDNOTFOUND: printf("'%s' not found\n", argv[1]); break;
case RET_WRONGCMD: printf("Wrong sintax of '%s'\n", argv[1]); break;
case RET_GOOD: printf("'%s' - OK\n", argv[1]); break;
default: printf("'%s' - bad\n", argv[1]);
}
return 0;
}

View File

@ -0,0 +1,56 @@
abspos
accel
adc
button
canerrcodes
canfilter
canflood
canfloodT
canid
canignore
canincrflood
canpause
canreinit
canresume
cansend
canspeed
canstat
delignlist
diagn
dumperr
dumpcmd
dumpconf
emstop
encpos
encrev
encstepmax
encstepmin
eraseflash
esw
eswreact
goto
gotoz
gpioconf
gpio
maxspeed
maxsteps
mcut
mcuvdd
microsteps
minspeed
motflags
motmul
motreinit
ping
relpos
relslow
reset
saveconf
screen
speedlimit
state
stop
time
tmcbus
udata
usartstatus

1
F3:F303/Multistepper/hdr.c Symbolic link
View File

@ -0,0 +1 @@
hashgen/hdr.c

1
F3:F303/Multistepper/hdr.h Symbolic link
View File

@ -0,0 +1 @@
hashgen/hdr.h

View File

@ -398,7 +398,7 @@
(symbol (lib_id "power:+3.3VADC") (at 64.008 48.514 0) (unit 1)
(in_bom yes) (on_board yes) (fields_autoplaced)
(uuid 13cf6375-898d-4635-8ef8-cb8b9e301a19)
(property "Reference" "#PWR?" (id 0) (at 67.818 49.784 0)
(property "Reference" "#PWR065" (id 0) (at 67.818 49.784 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+3.3VADC" (id 1) (at 64.008 44.9382 0))

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

After

Width:  |  Height:  |  Size: 379 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 361 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.10*%
%TF.CreationDate,2023-01-16T16:43:20+03:00*%
%TF.CreationDate,2023-02-06T19:48:01+03:00*%
%TF.ProjectId,multistepper,6d756c74-6973-4746-9570-7065722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Soldermask,Bot*%
%TF.FilePolarity,Negative*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-01-16 16:43:20*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-02-06 19:48:01*
%MOMM*%
%LPD*%
G01*
@ -899,6 +899,11 @@ X69726000Y-74628000D03*
D43*
X65726000Y-74628000D03*
%TD*%
D54*
%TO.C,R34*%
X147622900Y-68503800D03*
X145797900Y-68503800D03*
%TD*%
D56*
%TO.C,U7*%
X106615000Y-75311000D03*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.10*%
%TF.CreationDate,2023-01-16T16:43:20+03:00*%
%TF.CreationDate,2023-02-06T19:48:01+03:00*%
%TF.ProjectId,multistepper,6d756c74-6973-4746-9570-7065722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-01-16 16:43:20*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-02-06 19:48:01*
%MOMM*%
%LPD*%
G01*
@ -165,6 +165,11 @@ D21*
X147828000Y-134875100D03*
X147828000Y-136600100D03*
%TD*%
D20*
%TO.C,R34*%
X147622900Y-68503800D03*
X145797900Y-68503800D03*
%TD*%
D22*
%TO.C,U7*%
X106615000Y-75311000D03*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.10*%
%TF.CreationDate,2023-01-16T16:43:20+03:00*%
%TF.CreationDate,2023-02-06T19:48:01+03:00*%
%TF.ProjectId,multistepper,6d756c74-6973-4746-9570-7065722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Legend,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-01-16 16:43:20*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-02-06 19:48:01*
%MOMM*%
%LPD*%
G01*
@ -3610,6 +3610,39 @@ X144419771Y-136012228D01*
X144324533Y-135964609D01*
X144276914Y-135916990D01*
X144229295Y-135821752D01*
%TO.C,R34*%
X150579057Y-69057780D02*
X150912390Y-68581590D01*
X151150485Y-69057780D02*
X151150485Y-68057780D01*
X150769533Y-68057780D01*
X150674295Y-68105400D01*
X150626676Y-68153019D01*
X150579057Y-68248257D01*
X150579057Y-68391114D01*
X150626676Y-68486352D01*
X150674295Y-68533971D01*
X150769533Y-68581590D01*
X151150485Y-68581590D01*
X150245723Y-68057780D02*
X149626676Y-68057780D01*
X149960009Y-68438733D01*
X149817152Y-68438733D01*
X149721914Y-68486352D01*
X149674295Y-68533971D01*
X149626676Y-68629209D01*
X149626676Y-68867304D01*
X149674295Y-68962542D01*
X149721914Y-69010161D01*
X149817152Y-69057780D01*
X150102866Y-69057780D01*
X150198104Y-69010161D01*
X150245723Y-68962542D01*
X148769533Y-68391114D02*
X148769533Y-69057780D01*
X149007628Y-68010161D02*
X149245723Y-68724447D01*
X148626676Y-68724447D01*
%TO.C,U7*%
X102361904Y-85252380D02*
X102361904Y-86061904D01*
@ -6328,6 +6361,11 @@ X68826000Y-76128000D02*
X69126000Y-75828000D01*
X70476000Y-73628000D02*
X64976000Y-73628000D01*
%TO.C,R34*%
X146965124Y-67981300D02*
X146455676Y-67981300D01*
X146965124Y-69026300D02*
X146455676Y-69026300D01*
%TO.C,U7*%
X104140000Y-74696000D02*
X107590000Y-74696000D01*

View File

@ -1,11 +1,11 @@
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.10*%
%TF.CreationDate,2023-01-16T16:43:20+03:00*%
%TF.CreationDate,2023-02-06T19:48:01+03:00*%
%TF.ProjectId,multistepper,6d756c74-6973-4746-9570-7065722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Profile,NP*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-01-16 16:43:20*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-02-06 19:48:01*
%MOMM*%
%LPD*%
G01*

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.10*%
%TF.CreationDate,2023-01-16T16:43:20+03:00*%
%TF.CreationDate,2023-02-06T19:48:01+03:00*%
%TF.ProjectId,multistepper,6d756c74-6973-4746-9570-7065722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Soldermask,Top*%
%TF.FilePolarity,Negative*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-01-16 16:43:20*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-02-06 19:48:01*
%MOMM*%
%LPD*%
G01*
@ -42,39 +42,40 @@ G04 Aperture macros list end*
%ADD20RoundRect,0.250000X0.725000X-0.600000X0.725000X0.600000X-0.725000X0.600000X-0.725000X-0.600000X0*%
%ADD21R,1.500000X1.500000*%
%ADD22C,5.600000*%
%ADD23R,1.600000X1.600000*%
%ADD24O,1.600000X1.600000*%
%ADD25C,1.600000*%
%ADD26RoundRect,0.250000X-0.350000X-0.625000X0.350000X-0.625000X0.350000X0.625000X-0.350000X0.625000X0*%
%ADD27O,1.200000X1.750000*%
%ADD28RoundRect,0.250000X-0.600000X-0.725000X0.600000X-0.725000X0.600000X0.725000X-0.600000X0.725000X0*%
%ADD29C,2.000000*%
%ADD30R,0.500000X0.800000*%
%ADD31R,0.400000X0.800000*%
%ADD32R,0.800000X0.500000*%
%ADD33R,0.800000X0.400000*%
%ADD34R,2.600000X2.600000*%
%ADD35C,2.600000*%
%ADD36RoundRect,0.237500X-0.250000X-0.237500X0.250000X-0.237500X0.250000X0.237500X-0.250000X0.237500X0*%
%ADD37R,1.000000X1.000000*%
%ADD38O,1.000000X1.000000*%
%ADD39RoundRect,0.075000X-0.725000X-0.075000X0.725000X-0.075000X0.725000X0.075000X-0.725000X0.075000X0*%
%ADD40RoundRect,0.075000X-0.075000X-0.725000X0.075000X-0.725000X0.075000X0.725000X-0.075000X0.725000X0*%
%ADD41RoundRect,0.237500X0.237500X-0.300000X0.237500X0.300000X-0.237500X0.300000X-0.237500X-0.300000X0*%
%ADD42R,2.400000X2.000000*%
%ADD43RoundRect,0.237500X0.237500X-0.250000X0.237500X0.250000X-0.237500X0.250000X-0.237500X-0.250000X0*%
%ADD44RoundRect,0.237500X-0.237500X0.300000X-0.237500X-0.300000X0.237500X-0.300000X0.237500X0.300000X0*%
%ADD45C,1.500000*%
%ADD46O,2.600000X2.600000*%
%ADD47RoundRect,0.162500X-1.012500X-0.162500X1.012500X-0.162500X1.012500X0.162500X-1.012500X0.162500X0*%
%ADD48R,1.800000X1.800000*%
%ADD49O,1.800000X1.800000*%
%ADD50RoundRect,0.237500X0.300000X0.237500X-0.300000X0.237500X-0.300000X-0.237500X0.300000X-0.237500X0*%
%ADD51RoundRect,0.237500X0.250000X0.237500X-0.250000X0.237500X-0.250000X-0.237500X0.250000X-0.237500X0*%
%ADD52RoundRect,0.250000X-0.925000X0.875000X-0.925000X-0.875000X0.925000X-0.875000X0.925000X0.875000X0*%
%ADD53R,1.700000X1.700000*%
%ADD54C,3.500000*%
%ADD55R,1.500000X0.450000*%
%ADD23RoundRect,0.237500X-0.237500X0.250000X-0.237500X-0.250000X0.237500X-0.250000X0.237500X0.250000X0*%
%ADD24R,1.600000X1.600000*%
%ADD25O,1.600000X1.600000*%
%ADD26C,1.600000*%
%ADD27RoundRect,0.250000X-0.350000X-0.625000X0.350000X-0.625000X0.350000X0.625000X-0.350000X0.625000X0*%
%ADD28O,1.200000X1.750000*%
%ADD29RoundRect,0.250000X-0.600000X-0.725000X0.600000X-0.725000X0.600000X0.725000X-0.600000X0.725000X0*%
%ADD30C,2.000000*%
%ADD31R,0.500000X0.800000*%
%ADD32R,0.400000X0.800000*%
%ADD33R,0.800000X0.500000*%
%ADD34R,0.800000X0.400000*%
%ADD35R,2.600000X2.600000*%
%ADD36C,2.600000*%
%ADD37RoundRect,0.237500X0.250000X0.237500X-0.250000X0.237500X-0.250000X-0.237500X0.250000X-0.237500X0*%
%ADD38R,0.800000X1.900000*%
%ADD39R,1.000000X1.000000*%
%ADD40O,1.000000X1.000000*%
%ADD41RoundRect,0.075000X-0.725000X-0.075000X0.725000X-0.075000X0.725000X0.075000X-0.725000X0.075000X0*%
%ADD42RoundRect,0.075000X-0.075000X-0.725000X0.075000X-0.725000X0.075000X0.725000X-0.075000X0.725000X0*%
%ADD43RoundRect,0.237500X0.237500X-0.300000X0.237500X0.300000X-0.237500X0.300000X-0.237500X-0.300000X0*%
%ADD44RoundRect,0.237500X-0.250000X-0.237500X0.250000X-0.237500X0.250000X0.237500X-0.250000X0.237500X0*%
%ADD45R,2.400000X2.000000*%
%ADD46RoundRect,0.237500X0.237500X-0.250000X0.237500X0.250000X-0.237500X0.250000X-0.237500X-0.250000X0*%
%ADD47RoundRect,0.237500X-0.237500X0.300000X-0.237500X-0.300000X0.237500X-0.300000X0.237500X0.300000X0*%
%ADD48C,1.500000*%
%ADD49O,2.600000X2.600000*%
%ADD50RoundRect,0.162500X-1.012500X-0.162500X1.012500X-0.162500X1.012500X0.162500X-1.012500X0.162500X0*%
%ADD51R,1.800000X1.800000*%
%ADD52O,1.800000X1.800000*%
%ADD53RoundRect,0.237500X0.300000X0.237500X-0.300000X0.237500X-0.300000X-0.237500X0.300000X-0.237500X0*%
%ADD54RoundRect,0.250000X-0.925000X0.875000X-0.925000X-0.875000X0.925000X-0.875000X0.925000X0.875000X0*%
%ADD55R,1.700000X1.700000*%
%ADD56C,3.500000*%
G04 APERTURE END LIST*
D10*
%TO.C,C9*%
@ -142,26 +143,31 @@ D22*
X165500000Y-140500000D03*
%TD*%
D23*
%TO.C,R36*%
X153416000Y-82043900D03*
X153416000Y-83868900D03*
%TD*%
D24*
%TO.C,SW3*%
X155295600Y-52832000D03*
D24*
D25*
X155295600Y-60452000D03*
%TD*%
D23*
D24*
%TO.C,C24*%
X105246000Y-132978000D03*
D25*
D26*
X105246000Y-129478000D03*
%TD*%
D26*
D27*
%TO.C,J5*%
X103934000Y-103733600D03*
D27*
D28*
X105934000Y-103733600D03*
X107934000Y-103733600D03*
X109934000Y-103733600D03*
%TD*%
D28*
D29*
%TO.C,J11*%
X65500000Y-66500000D03*
D12*
@ -169,7 +175,7 @@ X68000000Y-66500000D03*
X70500000Y-66500000D03*
X73000000Y-66500000D03*
%TD*%
D29*
D30*
%TO.C,XX5*%
X140640000Y-123774000D03*
X138100000Y-123774000D03*
@ -190,29 +196,29 @@ X140640000Y-136474000D03*
X140640000Y-126314000D03*
X140640000Y-128854000D03*
%TD*%
D30*
D31*
%TO.C,RN11*%
X127270450Y-60560000D03*
D31*
D32*
X126470450Y-60560000D03*
X125670450Y-60560000D03*
D30*
D31*
X124870450Y-60560000D03*
X124870450Y-62360000D03*
D31*
D32*
X125670450Y-62360000D03*
X126470450Y-62360000D03*
D30*
D31*
X127270450Y-62360000D03*
%TD*%
D26*
D27*
%TO.C,J13*%
X117380000Y-110194000D03*
D27*
D28*
X119380000Y-110194000D03*
X121380000Y-110194000D03*
%TD*%
D29*
D30*
%TO.C,XX8*%
X75572000Y-116801600D03*
X75572000Y-114261600D03*
@ -253,31 +259,31 @@ X87281075Y-46027827D03*
X87281075Y-56187827D03*
X87281075Y-53647827D03*
%TD*%
D32*
D33*
%TO.C,RN7*%
X113095200Y-102025600D03*
D33*
D34*
X113095200Y-102825600D03*
X113095200Y-103625600D03*
D32*
D33*
X113095200Y-104425600D03*
X114895200Y-104425600D03*
D33*
D34*
X114895200Y-103625600D03*
X114895200Y-102825600D03*
D32*
D33*
X114895200Y-102025600D03*
%TD*%
D34*
D35*
%TO.C,J10*%
X163576000Y-112482000D03*
D35*
D36*
X163576000Y-107482000D03*
%TD*%
D36*
D37*
%TO.C,R33*%
X140768700Y-81635600D03*
X142593700Y-81635600D03*
X154529800Y-78841600D03*
X152704800Y-78841600D03*
%TD*%
D17*
%TO.C,J3*%
@ -293,14 +299,20 @@ X148844000Y-100584000D03*
X146304000Y-98044000D03*
X146304000Y-100584000D03*
%TD*%
D38*
%TO.C,Q3*%
X155107600Y-83897600D03*
X157007600Y-83897600D03*
X156057600Y-80897600D03*
%TD*%
D21*
%TO.C,TP3*%
X167132000Y-91948000D03*
%TD*%
D37*
D39*
%TO.C,J1*%
X145821000Y-82677000D03*
D38*
D40*
X145821000Y-83947000D03*
X145821000Y-85217000D03*
X145821000Y-86487000D03*
@ -315,7 +327,7 @@ X57604925Y-131434000D03*
X57604925Y-128934000D03*
X57604925Y-126434000D03*
%TD*%
D39*
D41*
%TO.C,U1*%
X111705000Y-83662000D03*
X111705000Y-84162000D03*
@ -342,7 +354,7 @@ X111705000Y-94162000D03*
X111705000Y-94662000D03*
X111705000Y-95162000D03*
X111705000Y-95662000D03*
D40*
D42*
X113380000Y-97337000D03*
X113880000Y-97337000D03*
X114380000Y-97337000D03*
@ -368,7 +380,7 @@ X123880000Y-97337000D03*
X124380000Y-97337000D03*
X124880000Y-97337000D03*
X125380000Y-97337000D03*
D39*
D41*
X127055000Y-95662000D03*
X127055000Y-95162000D03*
X127055000Y-94662000D03*
@ -394,7 +406,7 @@ X127055000Y-85162000D03*
X127055000Y-84662000D03*
X127055000Y-84162000D03*
X127055000Y-83662000D03*
D40*
D42*
X125380000Y-81987000D03*
X124880000Y-81987000D03*
X124380000Y-81987000D03*
@ -425,13 +437,13 @@ D22*
%TO.C,H1*%
X59000000Y-42000000D03*
%TD*%
D23*
D24*
%TO.C,C23*%
X135306000Y-132918000D03*
D25*
D26*
X135306000Y-129418000D03*
%TD*%
D41*
D43*
%TO.C,C4*%
X100417350Y-91997700D03*
X100417350Y-90272700D03*
@ -444,6 +456,11 @@ X124526450Y-41440000D03*
X122026450Y-41440000D03*
X119526450Y-41440000D03*
%TD*%
D44*
%TO.C,R35*%
X137466700Y-85801200D03*
X139291700Y-85801200D03*
%TD*%
D21*
%TO.C,TP2*%
X167132000Y-95250000D03*
@ -460,7 +477,7 @@ D22*
%TO.C,H3*%
X59000000Y-140500000D03*
%TD*%
D28*
D29*
%TO.C,J23*%
X97940000Y-141060000D03*
D12*
@ -468,12 +485,12 @@ X100440000Y-141060000D03*
X102940000Y-141060000D03*
X105440000Y-141060000D03*
%TD*%
D42*
D45*
%TO.C,Y1*%
X103225600Y-87558000D03*
X103225600Y-91258000D03*
%TD*%
D28*
D29*
%TO.C,J25*%
X68078925Y-141060000D03*
D12*
@ -481,7 +498,7 @@ X70578925Y-141060000D03*
X73078925Y-141060000D03*
X75578925Y-141060000D03*
%TD*%
D29*
D30*
%TO.C,XX4*%
X114386450Y-58666000D03*
X116926450Y-58666000D03*
@ -502,22 +519,22 @@ X114386450Y-45966000D03*
X114386450Y-56126000D03*
X114386450Y-53586000D03*
%TD*%
D30*
D31*
%TO.C,RN6*%
X104210000Y-95896000D03*
D31*
D32*
X105010000Y-95896000D03*
X105810000Y-95896000D03*
D30*
D31*
X106610000Y-95896000D03*
X106610000Y-94096000D03*
D31*
D32*
X105810000Y-94096000D03*
X105010000Y-94096000D03*
D30*
D31*
X104210000Y-94096000D03*
%TD*%
D43*
D46*
%TO.C,R2*%
X147218400Y-93012900D03*
X147218400Y-91187900D03*
@ -527,7 +544,7 @@ D10*
X127889000Y-81661000D03*
X129614000Y-81661000D03*
%TD*%
D44*
D47*
%TO.C,C2*%
X94284800Y-87528400D03*
X94284800Y-89253400D03*
@ -536,7 +553,7 @@ D22*
%TO.C,H2*%
X165500000Y-42000000D03*
%TD*%
D28*
D29*
%TO.C,J21*%
X128000000Y-141000000D03*
D12*
@ -544,46 +561,46 @@ X130500000Y-141000000D03*
X133000000Y-141000000D03*
X135500000Y-141000000D03*
%TD*%
D23*
D24*
%TO.C,C21*%
X92615075Y-49583827D03*
D25*
D26*
X92615075Y-53083827D03*
%TD*%
D30*
D31*
%TO.C,RN10*%
X100165075Y-60621827D03*
D31*
D32*
X99365075Y-60621827D03*
X98565075Y-60621827D03*
D30*
D31*
X97765075Y-60621827D03*
X97765075Y-62421827D03*
D31*
D32*
X98565075Y-62421827D03*
X99365075Y-62421827D03*
D30*
D31*
X100165075Y-62421827D03*
%TD*%
D23*
D24*
%TO.C,C22*%
X119720450Y-49522000D03*
D25*
D26*
X119720450Y-53022000D03*
%TD*%
D30*
D31*
%TO.C,RN5*%
X107004000Y-100722000D03*
D31*
D32*
X107804000Y-100722000D03*
X108604000Y-100722000D03*
D30*
D31*
X109404000Y-100722000D03*
X109404000Y-98922000D03*
D31*
D32*
X108604000Y-98922000D03*
X107804000Y-98922000D03*
D30*
D31*
X107004000Y-98922000D03*
%TD*%
D13*
@ -594,19 +611,19 @@ X137500450Y-51066000D03*
X137500450Y-53566000D03*
X137500450Y-56066000D03*
%TD*%
D45*
D48*
%TO.C,Q1*%
X142798800Y-56083200D03*
X145338800Y-56083200D03*
X147878800Y-56083200D03*
X150418800Y-56083200D03*
%TD*%
D44*
D47*
%TO.C,C1*%
X100417350Y-86917700D03*
X100417350Y-88642700D03*
%TD*%
D29*
D30*
%TO.C,XX6*%
X110580000Y-123834000D03*
X108040000Y-123834000D03*
@ -627,13 +644,13 @@ X110580000Y-136534000D03*
X110580000Y-126374000D03*
X110580000Y-128914000D03*
%TD*%
D34*
D35*
%TO.C,D26*%
X149250400Y-115194400D03*
D46*
D49*
X149250400Y-111384400D03*
%TD*%
D47*
D50*
%TO.C,U2*%
X142033000Y-58420000D03*
X142033000Y-60960000D03*
@ -648,34 +665,34 @@ D21*
%TO.C,TP6*%
X127000000Y-109728000D03*
%TD*%
D23*
D24*
%TO.C,C19*%
X66456000Y-84280000D03*
D25*
D26*
X69956000Y-84280000D03*
%TD*%
D48*
D51*
%TO.C,U5*%
X164287200Y-117602000D03*
D49*
D52*
X160587200Y-119302000D03*
X164287200Y-121002000D03*
X160587200Y-122702000D03*
X164287200Y-124402000D03*
%TD*%
D30*
D31*
%TO.C,RN13*%
X97696000Y-121940000D03*
D31*
D32*
X98496000Y-121940000D03*
X99296000Y-121940000D03*
D30*
D31*
X100096000Y-121940000D03*
X100096000Y-120140000D03*
D31*
D32*
X99296000Y-120140000D03*
X98496000Y-120140000D03*
D30*
D31*
X97696000Y-120140000D03*
%TD*%
D13*
@ -686,46 +703,46 @@ X58346000Y-106661600D03*
X58346000Y-109161600D03*
X58346000Y-111661600D03*
%TD*%
D26*
D27*
%TO.C,J7*%
X133144000Y-107704800D03*
D27*
D28*
X135144000Y-107704800D03*
X137144000Y-107704800D03*
X139144000Y-107704800D03*
%TD*%
D30*
D31*
%TO.C,RN9*%
X72744000Y-60683654D03*
D31*
D32*
X71944000Y-60683654D03*
X71144000Y-60683654D03*
D30*
D31*
X70344000Y-60683654D03*
X70344000Y-62483654D03*
D31*
D32*
X71144000Y-62483654D03*
X71944000Y-62483654D03*
D30*
D31*
X72744000Y-62483654D03*
%TD*%
D21*
%TO.C,TP4*%
X167132000Y-98552000D03*
%TD*%
D32*
D33*
%TO.C,RN15*%
X77466000Y-103917600D03*
D33*
D34*
X77466000Y-104717600D03*
X77466000Y-105517600D03*
D32*
D33*
X77466000Y-106317600D03*
X79266000Y-106317600D03*
D33*
D34*
X79266000Y-105517600D03*
X79266000Y-104717600D03*
D32*
D33*
X79266000Y-103917600D03*
%TD*%
D11*
@ -736,20 +753,20 @@ X70144000Y-41563654D03*
X67644000Y-41563654D03*
X65144000Y-41563654D03*
%TD*%
D50*
D53*
%TO.C,C6*%
X127709000Y-99822000D03*
X125984000Y-99822000D03*
%TD*%
D29*
D30*
%TO.C,L1*%
X153162000Y-129409200D03*
X153162000Y-119409200D03*
%TD*%
D23*
D24*
%TO.C,C20*%
X65194000Y-49645654D03*
D25*
D26*
X65194000Y-53145654D03*
%TD*%
D19*
@ -757,7 +774,7 @@ D19*
X97282000Y-83479200D03*
X97282000Y-92659200D03*
%TD*%
D29*
D30*
%TO.C,XX2*%
X59860000Y-58789654D03*
X62400000Y-58789654D03*
@ -778,25 +795,25 @@ X59860000Y-46089654D03*
X59860000Y-56249654D03*
X59860000Y-53709654D03*
%TD*%
D34*
D35*
%TO.C,J9*%
X163576000Y-64516000D03*
D35*
D36*
X163576000Y-59516000D03*
X163576000Y-54516000D03*
%TD*%
D23*
D24*
%TO.C,C25*%
X75384925Y-132978000D03*
D25*
D26*
X75384925Y-129478000D03*
%TD*%
D51*
D37*
%TO.C,R11*%
X152552400Y-108102400D03*
X150727400Y-108102400D03*
%TD*%
D29*
D30*
%TO.C,XX7*%
X80718925Y-123834000D03*
X78178925Y-123834000D03*
@ -817,22 +834,22 @@ X80718925Y-136534000D03*
X80718925Y-126374000D03*
X80718925Y-128914000D03*
%TD*%
D30*
D31*
%TO.C,RN14*%
X67834925Y-121940000D03*
D31*
D32*
X68634925Y-121940000D03*
X69434925Y-121940000D03*
D30*
D31*
X70234925Y-121940000D03*
X70234925Y-120140000D03*
D31*
D32*
X69434925Y-120140000D03*
X68634925Y-120140000D03*
D30*
D31*
X67834925Y-120140000D03*
%TD*%
D28*
D29*
%TO.C,J26*%
X65472000Y-93687600D03*
D12*
@ -840,47 +857,47 @@ X67972000Y-93687600D03*
X70472000Y-93687600D03*
X72972000Y-93687600D03*
%TD*%
D36*
D44*
%TO.C,R10*%
X150727400Y-106527600D03*
X152552400Y-106527600D03*
%TD*%
D50*
D53*
%TO.C,C7*%
X113638500Y-100584000D03*
X111913500Y-100584000D03*
%TD*%
D52*
D54*
%TO.C,C14*%
X155397200Y-111546800D03*
X155397200Y-116646800D03*
%TD*%
D26*
D27*
%TO.C,J4*%
X103934000Y-109321600D03*
D27*
D28*
X105934000Y-109321600D03*
X107934000Y-109321600D03*
X109934000Y-109321600D03*
%TD*%
D36*
D44*
%TO.C,R9*%
X102109900Y-100736400D03*
X103934900Y-100736400D03*
%TD*%
D30*
D31*
%TO.C,RN12*%
X127756000Y-121880000D03*
D31*
D32*
X128556000Y-121880000D03*
X129356000Y-121880000D03*
D30*
D31*
X130156000Y-121880000D03*
X130156000Y-120080000D03*
D31*
D32*
X129356000Y-120080000D03*
X128556000Y-120080000D03*
D30*
D31*
X127756000Y-120080000D03*
%TD*%
D20*
@ -899,19 +916,19 @@ X110395075Y-51127827D03*
X110395075Y-53627827D03*
X110395075Y-56127827D03*
%TD*%
D32*
D33*
%TO.C,RN8*%
X77494000Y-76730000D03*
D33*
D34*
X77494000Y-77530000D03*
X77494000Y-78330000D03*
D32*
D33*
X77494000Y-79130000D03*
X79294000Y-79130000D03*
D33*
D34*
X79294000Y-78330000D03*
X79294000Y-77530000D03*
D32*
D33*
X79294000Y-76730000D03*
%TD*%
D21*
@ -921,13 +938,13 @@ X162255200Y-134823200D03*
%TO.C,TP5*%
X130810000Y-101244400D03*
%TD*%
D23*
D24*
%TO.C,C26*%
X66428000Y-111467600D03*
D25*
D26*
X69928000Y-111467600D03*
%TD*%
D29*
D30*
%TO.C,XX1*%
X75600000Y-89614000D03*
X75600000Y-87074000D03*
@ -948,23 +965,17 @@ X62900000Y-89614000D03*
X73060000Y-89614000D03*
X70520000Y-89614000D03*
%TD*%
D53*
D55*
%TO.C,J8*%
X161290000Y-77730000D03*
D18*
X161290000Y-80230000D03*
X163290000Y-80230000D03*
X163290000Y-77730000D03*
D54*
D56*
X166000000Y-72960000D03*
X166000000Y-85000000D03*
%TD*%
D55*
%TO.C,Q3*%
X138116000Y-78852000D03*
X138116000Y-80152000D03*
X140776000Y-79502000D03*
%TD*%
D21*
%TO.C,TP1*%
X158167500Y-89348000D03*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.10*%
%TF.CreationDate,2023-01-16T16:43:20+03:00*%
%TF.CreationDate,2023-02-06T19:48:01+03:00*%
%TF.ProjectId,multistepper,6d756c74-6973-4746-9570-7065722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Top*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-01-16 16:43:20*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-02-06 19:48:01*
%MOMM*%
%LPD*%
G01*
@ -31,22 +31,23 @@ G04 Aperture macros list*
G04 Aperture macros list end*
%ADD10RoundRect,0.237500X-0.300000X-0.237500X0.300000X-0.237500X0.300000X0.237500X-0.300000X0.237500X0*%
%ADD11R,1.600000X2.180000*%
%ADD12R,0.500000X0.800000*%
%ADD13R,0.400000X0.800000*%
%ADD14R,0.800000X0.500000*%
%ADD15R,0.800000X0.400000*%
%ADD16RoundRect,0.237500X-0.250000X-0.237500X0.250000X-0.237500X0.250000X0.237500X-0.250000X0.237500X0*%
%ADD17RoundRect,0.075000X-0.725000X-0.075000X0.725000X-0.075000X0.725000X0.075000X-0.725000X0.075000X0*%
%ADD18RoundRect,0.075000X-0.075000X-0.725000X0.075000X-0.725000X0.075000X0.725000X-0.075000X0.725000X0*%
%ADD19RoundRect,0.237500X0.237500X-0.300000X0.237500X0.300000X-0.237500X0.300000X-0.237500X-0.300000X0*%
%ADD20R,2.400000X2.000000*%
%ADD21RoundRect,0.237500X0.237500X-0.250000X0.237500X0.250000X-0.237500X0.250000X-0.237500X-0.250000X0*%
%ADD22RoundRect,0.237500X-0.237500X0.300000X-0.237500X-0.300000X0.237500X-0.300000X0.237500X0.300000X0*%
%ADD23RoundRect,0.162500X-1.012500X-0.162500X1.012500X-0.162500X1.012500X0.162500X-1.012500X0.162500X0*%
%ADD24RoundRect,0.237500X0.300000X0.237500X-0.300000X0.237500X-0.300000X-0.237500X0.300000X-0.237500X0*%
%ADD25RoundRect,0.237500X0.250000X0.237500X-0.250000X0.237500X-0.250000X-0.237500X0.250000X-0.237500X0*%
%ADD26RoundRect,0.250000X-0.925000X0.875000X-0.925000X-0.875000X0.925000X-0.875000X0.925000X0.875000X0*%
%ADD27R,1.500000X0.450000*%
%ADD12RoundRect,0.237500X-0.237500X0.250000X-0.237500X-0.250000X0.237500X-0.250000X0.237500X0.250000X0*%
%ADD13R,0.500000X0.800000*%
%ADD14R,0.400000X0.800000*%
%ADD15R,0.800000X0.500000*%
%ADD16R,0.800000X0.400000*%
%ADD17RoundRect,0.237500X0.250000X0.237500X-0.250000X0.237500X-0.250000X-0.237500X0.250000X-0.237500X0*%
%ADD18R,0.800000X1.900000*%
%ADD19RoundRect,0.075000X-0.725000X-0.075000X0.725000X-0.075000X0.725000X0.075000X-0.725000X0.075000X0*%
%ADD20RoundRect,0.075000X-0.075000X-0.725000X0.075000X-0.725000X0.075000X0.725000X-0.075000X0.725000X0*%
%ADD21RoundRect,0.237500X0.237500X-0.300000X0.237500X0.300000X-0.237500X0.300000X-0.237500X-0.300000X0*%
%ADD22RoundRect,0.237500X-0.250000X-0.237500X0.250000X-0.237500X0.250000X0.237500X-0.250000X0.237500X0*%
%ADD23R,2.400000X2.000000*%
%ADD24RoundRect,0.237500X0.237500X-0.250000X0.237500X0.250000X-0.237500X0.250000X-0.237500X-0.250000X0*%
%ADD25RoundRect,0.237500X-0.237500X0.300000X-0.237500X-0.300000X0.237500X-0.300000X0.237500X0.300000X0*%
%ADD26RoundRect,0.162500X-1.012500X-0.162500X1.012500X-0.162500X1.012500X0.162500X-1.012500X0.162500X0*%
%ADD27RoundRect,0.237500X0.300000X0.237500X-0.300000X0.237500X-0.300000X-0.237500X0.300000X-0.237500X0*%
%ADD28RoundRect,0.250000X-0.925000X0.875000X-0.925000X-0.875000X0.925000X-0.875000X0.925000X0.875000X0*%
G04 APERTURE END LIST*
D10*
%TO.C,C9*%
@ -59,41 +60,52 @@ X150164800Y-83548000D03*
X150164800Y-92728000D03*
%TD*%
D12*
%TO.C,R36*%
X153416000Y-82043900D03*
X153416000Y-83868900D03*
%TD*%
D13*
%TO.C,RN11*%
X127270450Y-60560000D03*
D13*
D14*
X126470450Y-60560000D03*
X125670450Y-60560000D03*
D12*
D13*
X124870450Y-60560000D03*
X124870450Y-62360000D03*
D13*
D14*
X125670450Y-62360000D03*
X126470450Y-62360000D03*
D12*
D13*
X127270450Y-62360000D03*
%TD*%
D14*
D15*
%TO.C,RN7*%
X113095200Y-102025600D03*
D15*
D16*
X113095200Y-102825600D03*
X113095200Y-103625600D03*
D14*
D15*
X113095200Y-104425600D03*
X114895200Y-104425600D03*
D15*
D16*
X114895200Y-103625600D03*
X114895200Y-102825600D03*
D14*
D15*
X114895200Y-102025600D03*
%TD*%
D16*
%TO.C,R33*%
X140768700Y-81635600D03*
X142593700Y-81635600D03*
%TD*%
D17*
%TO.C,R33*%
X154529800Y-78841600D03*
X152704800Y-78841600D03*
%TD*%
D18*
%TO.C,Q3*%
X155107600Y-83897600D03*
X157007600Y-83897600D03*
X156057600Y-80897600D03*
%TD*%
D19*
%TO.C,U1*%
X111705000Y-83662000D03*
X111705000Y-84162000D03*
@ -120,7 +132,7 @@ X111705000Y-94162000D03*
X111705000Y-94662000D03*
X111705000Y-95162000D03*
X111705000Y-95662000D03*
D18*
D20*
X113380000Y-97337000D03*
X113880000Y-97337000D03*
X114380000Y-97337000D03*
@ -146,7 +158,7 @@ X123880000Y-97337000D03*
X124380000Y-97337000D03*
X124880000Y-97337000D03*
X125380000Y-97337000D03*
D17*
D19*
X127055000Y-95662000D03*
X127055000Y-95162000D03*
X127055000Y-94662000D03*
@ -172,7 +184,7 @@ X127055000Y-85162000D03*
X127055000Y-84662000D03*
X127055000Y-84162000D03*
X127055000Y-83662000D03*
D18*
D20*
X125380000Y-81987000D03*
X124880000Y-81987000D03*
X124380000Y-81987000D03*
@ -199,32 +211,37 @@ X114380000Y-81987000D03*
X113880000Y-81987000D03*
X113380000Y-81987000D03*
%TD*%
D19*
D21*
%TO.C,C4*%
X100417350Y-91997700D03*
X100417350Y-90272700D03*
%TD*%
D20*
D22*
%TO.C,R35*%
X137466700Y-85801200D03*
X139291700Y-85801200D03*
%TD*%
D23*
%TO.C,Y1*%
X103225600Y-87558000D03*
X103225600Y-91258000D03*
%TD*%
D12*
D13*
%TO.C,RN6*%
X104210000Y-95896000D03*
D13*
D14*
X105010000Y-95896000D03*
X105810000Y-95896000D03*
D12*
D13*
X106610000Y-95896000D03*
X106610000Y-94096000D03*
D13*
D14*
X105810000Y-94096000D03*
X105010000Y-94096000D03*
D12*
D13*
X104210000Y-94096000D03*
%TD*%
D21*
D24*
%TO.C,R2*%
X147218400Y-93012900D03*
X147218400Y-91187900D03*
@ -234,46 +251,46 @@ D10*
X127889000Y-81661000D03*
X129614000Y-81661000D03*
%TD*%
D22*
D25*
%TO.C,C2*%
X94284800Y-87528400D03*
X94284800Y-89253400D03*
%TD*%
D12*
D13*
%TO.C,RN10*%
X100165075Y-60621827D03*
D13*
D14*
X99365075Y-60621827D03*
X98565075Y-60621827D03*
D12*
D13*
X97765075Y-60621827D03*
X97765075Y-62421827D03*
D13*
D14*
X98565075Y-62421827D03*
X99365075Y-62421827D03*
D12*
D13*
X100165075Y-62421827D03*
%TD*%
%TO.C,RN5*%
X107004000Y-100722000D03*
D13*
D14*
X107804000Y-100722000D03*
X108604000Y-100722000D03*
D12*
D13*
X109404000Y-100722000D03*
X109404000Y-98922000D03*
D13*
D14*
X108604000Y-98922000D03*
X107804000Y-98922000D03*
D12*
D13*
X107004000Y-98922000D03*
%TD*%
D22*
D25*
%TO.C,C1*%
X100417350Y-86917700D03*
X100417350Y-88642700D03*
%TD*%
D23*
D26*
%TO.C,U2*%
X142033000Y-58420000D03*
X142033000Y-60960000D03*
@ -284,51 +301,51 @@ X151083000Y-63500000D03*
X151083000Y-60960000D03*
X151083000Y-58420000D03*
%TD*%
D12*
D13*
%TO.C,RN13*%
X97696000Y-121940000D03*
D13*
D14*
X98496000Y-121940000D03*
X99296000Y-121940000D03*
D12*
D13*
X100096000Y-121940000D03*
X100096000Y-120140000D03*
D13*
D14*
X99296000Y-120140000D03*
X98496000Y-120140000D03*
D12*
D13*
X97696000Y-120140000D03*
%TD*%
%TO.C,RN9*%
X72744000Y-60683654D03*
D13*
D14*
X71944000Y-60683654D03*
X71144000Y-60683654D03*
D12*
D13*
X70344000Y-60683654D03*
X70344000Y-62483654D03*
D13*
D14*
X71144000Y-62483654D03*
X71944000Y-62483654D03*
D12*
D13*
X72744000Y-62483654D03*
%TD*%
D14*
D15*
%TO.C,RN15*%
X77466000Y-103917600D03*
D15*
D16*
X77466000Y-104717600D03*
X77466000Y-105517600D03*
D14*
D15*
X77466000Y-106317600D03*
X79266000Y-106317600D03*
D15*
D16*
X79266000Y-105517600D03*
X79266000Y-104717600D03*
D14*
D15*
X79266000Y-103917600D03*
%TD*%
D24*
D27*
%TO.C,C6*%
X127709000Y-99822000D03*
X125984000Y-99822000D03*
@ -338,80 +355,74 @@ D11*
X97282000Y-83479200D03*
X97282000Y-92659200D03*
%TD*%
D25*
D17*
%TO.C,R11*%
X152552400Y-108102400D03*
X150727400Y-108102400D03*
%TD*%
D12*
D13*
%TO.C,RN14*%
X67834925Y-121940000D03*
D13*
D14*
X68634925Y-121940000D03*
X69434925Y-121940000D03*
D12*
D13*
X70234925Y-121940000D03*
X70234925Y-120140000D03*
D13*
D14*
X69434925Y-120140000D03*
X68634925Y-120140000D03*
D12*
D13*
X67834925Y-120140000D03*
%TD*%
D16*
D22*
%TO.C,R10*%
X150727400Y-106527600D03*
X152552400Y-106527600D03*
%TD*%
D24*
D27*
%TO.C,C7*%
X113638500Y-100584000D03*
X111913500Y-100584000D03*
%TD*%
D26*
D28*
%TO.C,C14*%
X155397200Y-111546800D03*
X155397200Y-116646800D03*
%TD*%
D16*
D22*
%TO.C,R9*%
X102109900Y-100736400D03*
X103934900Y-100736400D03*
%TD*%
D12*
D13*
%TO.C,RN12*%
X127756000Y-121880000D03*
D13*
D14*
X128556000Y-121880000D03*
X129356000Y-121880000D03*
D12*
D13*
X130156000Y-121880000D03*
X130156000Y-120080000D03*
D13*
D14*
X129356000Y-120080000D03*
X128556000Y-120080000D03*
D12*
D13*
X127756000Y-120080000D03*
%TD*%
D14*
D15*
%TO.C,RN8*%
X77494000Y-76730000D03*
D15*
D16*
X77494000Y-77530000D03*
X77494000Y-78330000D03*
D14*
D15*
X77494000Y-79130000D03*
X79294000Y-79130000D03*
D15*
D16*
X79294000Y-78330000D03*
X79294000Y-77530000D03*
D14*
D15*
X79294000Y-76730000D03*
%TD*%
D27*
%TO.C,Q3*%
X138116000Y-78852000D03*
X138116000Y-80152000D03*
X140776000Y-79502000D03*
%TD*%
M02*

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.10*%
%TF.CreationDate,2023-01-16T16:43:20+03:00*%
%TF.CreationDate,2023-02-06T19:48:00+03:00*%
%TF.ProjectId,multistepper,6d756c74-6973-4746-9570-7065722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Copper,L3,Inr*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-01-16 16:43:20*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-02-06 19:48:00*
%MOMM*%
%LPD*%
G01*
@ -120,13 +120,13 @@ G04 Aperture macros list end*
%ADD39C,0.800000*%
%TD*%
%TA.AperFunction,Conductor*%
%ADD40C,0.300000*%
%ADD40C,1.000000*%
%TD*%
%TA.AperFunction,Conductor*%
%ADD41C,1.000000*%
%ADD41C,0.500000*%
%TD*%
%TA.AperFunction,Conductor*%
%ADD42C,0.500000*%
%ADD42C,0.300000*%
%TD*%
%TA.AperFunction,Conductor*%
%ADD43C,2.000000*%
@ -964,16 +964,9 @@ D19*
X158167500Y-89348000D03*
%TD*%
D38*
%TO.N,+3.3VADC*%
X101092000Y-101549200D03*
D39*
%TO.N,MCU3v3*%
X100584000Y-100056000D03*
D38*
%TO.N,GND*%
X149910800Y-137749000D03*
D39*
X133756400Y-78699500D03*
X99669600Y-72034400D03*
X121412000Y-121909100D03*
X88493600Y-74930000D03*
@ -1045,8 +1038,6 @@ X129133600Y-100431600D03*
D38*
X150600000Y-81200000D03*
D39*
%TO.N,/MCU base/BTN0*%
X134400000Y-84900000D03*
%TO.N,/MCU base/BTN1*%
X133432503Y-84836000D03*
X136652000Y-80975189D03*
@ -1059,7 +1050,7 @@ X132130800Y-81280000D03*
D38*
%TO.N,/MCU base/SWCLK*%
X128879600Y-76504800D03*
X132425423Y-79925423D03*
X131792223Y-79925423D03*
D39*
%TO.N,M4_L0*%
X132435600Y-88900000D03*
@ -1140,6 +1131,7 @@ X149098000Y-120548400D03*
X137972800Y-104648000D03*
X155197900Y-90973600D03*
X120446800Y-94202100D03*
X143446500Y-67576700D03*
X123494800Y-83667600D03*
D39*
%TO.N,ADC0*%
@ -1174,6 +1166,7 @@ X71944000Y-62483654D03*
X77774800Y-64047900D03*
D38*
%TO.N,+3.3VADC*%
X101092000Y-101549200D03*
X110134400Y-93675200D03*
D39*
%TO.N,USART3_TX*%
@ -1379,6 +1372,7 @@ X109169200Y-79400400D03*
X125222000Y-95046800D03*
X150164800Y-92728000D03*
D39*
X100584000Y-100056000D03*
%TO.N,/Motors/stepper_M2/U*%
X70020000Y-57468854D03*
X74846000Y-50915654D03*
@ -1435,33 +1429,6 @@ X152450000Y-134874000D03*
X113233200Y-122123200D03*
%TD*%
D40*
%TO.N,+3.3VADC*%
X111404400Y-93675200D02*
X111963200Y-94234000D01*
X111963200Y-94234000D02*
X111963200Y-95910400D01*
X110134400Y-93675200D02*
X111404400Y-93675200D01*
X111963200Y-95910400D02*
X119253000Y-103200200D01*
X101092000Y-104343200D02*
X101092000Y-101549200D01*
X101708000Y-104959200D02*
X101092000Y-104343200D01*
X103022400Y-106273600D02*
X101708000Y-104959200D01*
X119253000Y-103200200D02*
X121513600Y-105460800D01*
X119253000Y-103200200D02*
X116179600Y-106273600D01*
X116179600Y-106273600D02*
X103022400Y-106273600D01*
%TO.N,MCU3v3*%
X100584000Y-100056000D02*
X100597170Y-100056000D01*
X100597170Y-100056000D02*
X102109900Y-98543270D01*
D41*
%TO.N,+3V3*%
X151739600Y-93624400D02*
X150825200Y-94538800D01*
@ -1473,10 +1440,10 @@ X144932400Y-95300800D02*
X150063200Y-95300800D01*
X151739600Y-93624400D02*
X151739600Y-82339600D01*
D42*
D41*
X152603200Y-94538800D02*
X150825200Y-94538800D01*
D41*
D40*
X129946400Y-101244400D02*
X129133600Y-100431600D01*
X138988800Y-101244400D02*
@ -1487,16 +1454,14 @@ X130810000Y-101244400D02*
X138988800Y-101244400D01*
X150825200Y-94538800D02*
X150063200Y-95300800D01*
D40*
D42*
%TO.N,/MCU base/BTN1*%
X135902478Y-81724711D02*
X133946689Y-81724711D01*
X136652000Y-80975189D02*
X135902478Y-81724711D01*
X133432503Y-82238897D02*
X133432503Y-84836000D01*
X133946689Y-81724711D02*
X133432503Y-82238897D01*
X133432503Y-84836000D02*
X133432503Y-82315097D01*
X133432503Y-82315097D02*
X134772411Y-80975189D01*
X134772411Y-80975189D02*
X136652000Y-80975189D01*
%TO.N,/MCU base/SWDIO*%
X145821000Y-83947000D02*
X144821002Y-83947000D01*
@ -1505,12 +1470,10 @@ X134333000Y-82561000D01*
X144821002Y-83947000D02*
X143435002Y-82561000D01*
%TO.N,/MCU base/SWCLK*%
X143369689Y-80225689D02*
X131792223Y-79925423D02*
X143069423Y-79925423D01*
X143069423Y-79925423D02*
X145821000Y-82677000D01*
X132725689Y-80225689D02*
X143369689Y-80225689D01*
X132425423Y-79925423D02*
X132725689Y-80225689D01*
%TO.N,ADC4*%
X146253200Y-106527600D02*
X141224000Y-111556800D01*
@ -1532,10 +1495,10 @@ X140833600Y-77200000D02*
X153795800Y-77200000D01*
X123901200Y-82143600D02*
X123901200Y-81534000D01*
D41*
D40*
X140309600Y-110236000D02*
X136804400Y-110236000D01*
D42*
D41*
X122783600Y-83261200D02*
X123901200Y-82143600D01*
X123494800Y-82550000D02*
@ -1543,33 +1506,34 @@ X123901200Y-82143600D01*
D43*
X149098000Y-120548400D02*
X148082000Y-120548400D01*
D41*
D40*
X141757400Y-108788200D02*
X140309600Y-110236000D01*
D40*
D42*
X129752048Y-104648000D02*
X137972800Y-104648000D01*
D42*
D41*
X123494800Y-83667600D02*
X123494800Y-82550000D01*
D43*
X161544000Y-101142800D02*
X161544000Y-91948000D01*
D42*
D41*
X123494800Y-83667600D02*
X122783600Y-84378800D01*
D43*
X155197900Y-78602100D02*
X155197900Y-90973600D01*
D41*
X140833600Y-70189600D02*
X144627600Y-66395600D01*
D40*
D42*
X120446800Y-94202100D02*
X120446800Y-97434400D01*
D41*
D40*
X141757400Y-105029000D02*
X138353800Y-105029000D01*
X143446500Y-67576700D02*
X144627600Y-66395600D01*
X140833600Y-70189600D02*
X143446500Y-67576700D01*
X138353800Y-105029000D02*
X137972800Y-104648000D01*
D43*
@ -1587,19 +1551,19 @@ X123901200Y-81534000D02*
X127166000Y-81534000D01*
X146202400Y-118668800D02*
X146202400Y-110947200D01*
D41*
D40*
X141757400Y-105029000D02*
X141757400Y-108788200D01*
D40*
D42*
X125407911Y-102395511D02*
X127499559Y-102395511D01*
D43*
X157276800Y-91948000D02*
X156172300Y-91948000D01*
D40*
D42*
X127499559Y-102395511D02*
X129752048Y-104648000D01*
D41*
D40*
X144627600Y-66395600D02*
X144627600Y-60401200D01*
D43*
@ -1609,21 +1573,21 @@ X146202400Y-110947200D02*
X152120600Y-105029000D01*
X153822400Y-103327200D02*
X159359600Y-103327200D01*
D41*
D40*
X152120600Y-105029000D02*
X141757400Y-105029000D01*
X140833600Y-77200000D02*
X140833600Y-70189600D01*
D42*
D41*
X122783600Y-84378800D02*
X122783600Y-83261200D01*
D43*
X152120600Y-105029000D02*
X153822400Y-103327200D01*
D40*
D42*
X120446800Y-97434400D02*
X125407911Y-102395511D01*
D41*
D40*
%TO.N,Vdrive*%
X167132000Y-95250000D02*
X164541200Y-97840800D01*
@ -1644,7 +1608,7 @@ X155956000Y-117551200D02*
X157988000Y-119583200D01*
X145989328Y-138724928D02*
X144834728Y-138724928D01*
D41*
D40*
X164541200Y-97840800D02*
X164541200Y-102971600D01*
X156794200Y-105587800D02*
@ -1654,7 +1618,7 @@ X154905000Y-108839000D01*
D43*
X154889200Y-116738400D02*
X155702000Y-117551200D01*
D41*
D40*
X156794200Y-105587800D02*
X154905000Y-107477000D01*
D43*
@ -1662,7 +1626,7 @@ X154889200Y-112268000D02*
X154889200Y-116738400D01*
X149088128Y-140655328D02*
X147157728Y-138724928D01*
D41*
D40*
X161925000Y-105587800D02*
X164541200Y-102971600D01*
D43*
@ -1670,19 +1634,39 @@ X154905000Y-108839000D02*
X154905000Y-110109000D01*
X155844528Y-140655328D02*
X149088128Y-140655328D01*
D40*
D42*
%TO.N,+3.3VADC*%
X119253000Y-103200200D02*
X121513600Y-105460800D01*
X111404400Y-93675200D02*
X111963200Y-94234000D01*
X101092000Y-104343200D02*
X101092000Y-101549200D01*
X103022400Y-106273600D02*
X101708000Y-104959200D01*
X122123200Y-105460800D02*
X122986800Y-106324400D01*
X121513600Y-105460800D02*
X122123200Y-105460800D01*
X111963200Y-94234000D02*
X111963200Y-95910400D01*
X111963200Y-95910400D02*
X119253000Y-103200200D01*
X122986800Y-106324400D02*
X122986800Y-106730800D01*
X110134400Y-93675200D02*
X111404400Y-93675200D01*
X125984000Y-109728000D02*
X127000000Y-109728000D01*
X101708000Y-104959200D02*
X101092000Y-104343200D01*
X119253000Y-103200200D02*
X116179600Y-106273600D01*
X122986800Y-106730800D02*
X125984000Y-109728000D01*
D41*
X116179600Y-106273600D02*
X103022400Y-106273600D01*
D40*
%TO.N,Net-(C17-Pad1)*%
X163880800Y-114909600D02*
X165049200Y-114909600D01*
@ -1701,16 +1685,16 @@ X160629600Y-109423200D02*
X160070800Y-108864400D01*
X161482400Y-107482000D02*
X161482400Y-109361600D01*
D42*
D41*
X160055000Y-107569000D02*
X160055000Y-111337800D01*
D41*
D40*
X161482400Y-109361600D02*
X161544000Y-109423200D01*
D42*
D41*
X160055000Y-111337800D02*
X160070800Y-111353600D01*
D41*
D40*
X161544000Y-109423200D02*
X160629600Y-109423200D01*
X161482400Y-107482000D02*
@ -1829,10 +1813,12 @@ X141020800Y-138836400D02*
X142544800Y-138836400D01*
X80772000Y-138836400D02*
X110744000Y-138836400D01*
D40*
D42*
%TO.N,MCU3v3*%
X109225659Y-92462459D02*
X110594059Y-91094059D01*
X100597170Y-100056000D02*
X102109900Y-98543270D01*
X122903200Y-92728000D02*
X122834400Y-92659200D01*
X109225659Y-92805941D02*
@ -1843,6 +1829,8 @@ X150164800Y-92728000D02*
X122903200Y-92728000D01*
X103488330Y-98543270D02*
X109225659Y-92805941D01*
X100584000Y-100056000D02*
X100597170Y-100056000D01*
X110594059Y-88948341D02*
X113385600Y-86156800D01*
X102109900Y-98543270D02*
@ -1873,7 +1861,7 @@ X122834400Y-86106000D02*
X124815600Y-84124800D01*
X121894000Y-86106000D02*
X121894000Y-88425200D01*
D42*
D41*
%TO.N,Vio*%
X82448400Y-122936000D02*
X82448400Y-121920000D01*
@ -1882,7 +1870,7 @@ X83261200Y-70154800D02*
X83261200Y-91084400D01*
X86563200Y-68884800D02*
X84531200Y-68884800D01*
D42*
D41*
X81737200Y-116992400D02*
X84759800Y-113969800D01*
D43*
@ -1894,7 +1882,7 @@ X88747600Y-117957600D02*
X87579200Y-116789200D01*
X145491200Y-123240800D02*
X140208000Y-117957600D01*
D42*
D41*
X142036800Y-130606800D02*
X145491200Y-130606800D01*
X113233200Y-122123200D02*
@ -1908,7 +1896,7 @@ X145491200Y-130606800D02*
X145542000Y-130657600D01*
X84531200Y-68884800D02*
X83261200Y-70154800D01*
D40*
D42*
X101650800Y-75285600D02*
X101650800Y-68884800D01*
D43*
@ -1926,13 +1914,13 @@ X149910800Y-134874000D02*
X152450000Y-134874000D01*
X145542000Y-130657600D02*
X145542000Y-133654800D01*
D42*
D41*
X113775511Y-68799689D02*
X113775511Y-67598311D01*
D43*
X152450000Y-134874000D02*
X154482800Y-134874000D01*
D42*
D41*
X113775511Y-67598311D02*
X113775511Y-60841911D01*
D43*
@ -1940,19 +1928,19 @@ X87579200Y-116789200D02*
X84759800Y-113969800D01*
X146761200Y-134874000D02*
X149910800Y-134874000D01*
D40*
D42*
X113233200Y-118160800D02*
X113436400Y-117957600D01*
D43*
X83261200Y-112471200D02*
X83261200Y-110134400D01*
D41*
D40*
X113690400Y-68884800D02*
X113775511Y-68799689D01*
D43*
X145542000Y-133654800D02*
X146761200Y-134874000D01*
D42*
D41*
X82448400Y-121920000D02*
X87579200Y-116789200D01*
X86410800Y-60401200D02*
@ -5397,7 +5385,7 @@ X77094535Y-84770711D01*
X77113165Y-84534000D01*
X77094535Y-84297289D01*
X77090385Y-84280000D01*
X77051378Y-84117528D01*
X77042899Y-84082209D01*
X77039105Y-84066406D01*
X77033102Y-84051913D01*
X76950135Y-83851611D01*
@ -5431,7 +5419,7 @@ X77093380Y-82235524D01*
X77093381Y-82235518D01*
X77094535Y-82230711D01*
X77113165Y-81994000D01*
X77104483Y-81883689D01*
X77103495Y-81871134D01*
X77094588Y-81757956D01*
X77109184Y-81688476D01*
X77159027Y-81637916D01*
@ -5468,7 +5456,7 @@ X78272232Y-80540633D01*
X78271542Y-80534072D01*
X78212527Y-80352444D01*
X78199006Y-80329024D01*
X78165808Y-80271524D01*
X78120341Y-80192774D01*
X78117040Y-80187056D01*
X78079338Y-80145183D01*
X77993675Y-80050045D01*
@ -5784,8 +5772,6 @@ X73384968Y-79270633D01*
X73384968Y-79270635D01*
X73370900Y-79404489D01*
X73365696Y-79454000D01*
X73366386Y-79460565D01*
X73377593Y-79567189D01*
X73385658Y-79643928D01*
X73444673Y-79825556D01*
X73447976Y-79831278D01*
@ -5864,7 +5850,7 @@ X74249867Y-83851607D01*
X74249865Y-83851611D01*
X74166898Y-84051913D01*
X74160895Y-84066406D01*
X74148622Y-84117528D01*
X74157101Y-84082209D01*
X74109616Y-84280000D01*
X74105465Y-84297289D01*
X74086835Y-84534000D01*
@ -18447,7 +18433,7 @@ X68670972Y-84020135D01*
X68662457Y-84051913D01*
X68642502Y-84280000D01*
X64390385Y-84280000D01*
X64351378Y-84117528D01*
X64342899Y-84082209D01*
X64339105Y-84066406D01*
X64333102Y-84051913D01*
X64314865Y-84007885D01*
@ -18566,7 +18552,7 @@ X64126755Y-80339208D01*
X64126759Y-80339202D01*
X64245654Y-80145183D01*
X64248240Y-80140963D01*
X64261768Y-80108305D01*
X64252563Y-80130528D01*
X64307085Y-79998899D01*
X68392996Y-79998899D01*
X68393686Y-80005464D01*
@ -18579,7 +18565,7 @@ X68478928Y-80382502D01*
X68567460Y-80535843D01*
X68571878Y-80540750D01*
X68571879Y-80540751D01*
X68666346Y-80645667D01*
X68651677Y-80629376D01*
X68695247Y-80677765D01*
X68749848Y-80717435D01*
X68839661Y-80782688D01*
@ -18588,14 +18574,14 @@ X68855776Y-80792701D01*
X68855778Y-80792702D01*
X69018181Y-80865008D01*
X69024212Y-80867693D01*
X69117613Y-80887546D01*
X69082479Y-80880078D01*
X69204556Y-80906027D01*
X69204561Y-80906027D01*
X69211013Y-80907399D01*
X69401987Y-80907399D01*
X69408439Y-80906027D01*
X69408444Y-80906027D01*
X69495387Y-80887546D01*
X69530521Y-80880078D01*
X69588788Y-80867693D01*
X69594819Y-80865008D01*
X69757222Y-80792702D01*
@ -18604,7 +18590,7 @@ X69763252Y-80790017D01*
X69773340Y-80782688D01*
X69863152Y-80717435D01*
X69917753Y-80677765D01*
X69946654Y-80645667D01*
X69961323Y-80629376D01*
X70041121Y-80540751D01*
X70041122Y-80540750D01*
X70045540Y-80535843D01*
@ -18621,8 +18607,6 @@ X70200732Y-79815534D01*
X70200732Y-79815532D01*
X70200042Y-79808971D01*
X70141027Y-79627343D01*
X70130186Y-79608565D01*
X70074492Y-79512102D01*
X70045540Y-79461955D01*
X70031180Y-79446006D01*
X69922175Y-79324944D01*
@ -18653,8 +18637,6 @@ X68690826Y-79324943D01*
X68690825Y-79324944D01*
X68581821Y-79446006D01*
X68567460Y-79461955D01*
X68538508Y-79512102D01*
X68482815Y-79608565D01*
X68471973Y-79627343D01*
X68412958Y-79808971D01*
X68412268Y-79815532D01*
@ -19109,7 +19091,7 @@ X61435754Y-79816873D01*
X61460895Y-79921594D01*
X61462788Y-79926165D01*
X61462789Y-79926167D01*
X61538233Y-80108305D01*
X61547438Y-80130528D01*
X61551760Y-80140963D01*
X61554346Y-80145183D01*
X61673241Y-80339202D01*
@ -19170,7 +19152,7 @@ X61549867Y-83851607D01*
X61549865Y-83851611D01*
X61466898Y-84051913D01*
X61460895Y-84066406D01*
X61448622Y-84117528D01*
X61457101Y-84082209D01*
X61409616Y-84280000D01*
X61405465Y-84297289D01*
X61386835Y-84534000D01*
@ -19232,7 +19214,7 @@ X57472633Y-85594244D01*
X57476755Y-85597624D01*
X57481391Y-85600263D01*
X57481394Y-85600265D01*
X57647076Y-85694577D01*
X57599522Y-85667507D01*
X57677114Y-85711675D01*
X57893825Y-85790337D01*
X57899074Y-85791286D01*
@ -19313,8 +19295,8 @@ X59831308Y-82261484D01*
X59860198Y-82043511D01*
X59860198Y-82043506D01*
X59860898Y-82038226D01*
X59860347Y-82023534D01*
X59852449Y-81813173D01*
X59860405Y-82025079D01*
X59855038Y-81882134D01*
X59852249Y-81807842D01*
X59804907Y-81582209D01*
X59779472Y-81517803D01*
@ -19328,7 +19310,7 @@ X59544423Y-81105918D01*
X59453023Y-81000588D01*
X59453021Y-81000586D01*
X59449523Y-80996555D01*
X59407970Y-80962484D01*
X59366047Y-80928109D01*
X59275373Y-80853760D01*
X59275367Y-80853756D01*
X59271245Y-80850376D01*
@ -19346,9 +19328,9 @@ X59561248Y-80322167D01*
X59627935Y-80232536D01*
X59657754Y-80192458D01*
X59683936Y-80140963D01*
X59735237Y-80040060D01*
X59732657Y-80045134D01*
X59762240Y-79986949D01*
X59775861Y-79943085D01*
X59777824Y-79936763D01*
X59829024Y-79771871D01*
X59830607Y-79766773D01*
X59840688Y-79690711D01*
@ -19359,7 +19341,7 @@ X59857983Y-79460565D01*
X59852449Y-79313173D01*
X59852249Y-79307842D01*
X59804907Y-79082209D01*
X59802740Y-79076721D01*
X59772910Y-79001187D01*
X59722185Y-78872744D01*
X59722184Y-78872742D01*
X59720224Y-78867779D01*
@ -19487,7 +19469,7 @@ X56984177Y-81466148D01*
X56929729Y-81641500D01*
X56917393Y-81681227D01*
X56916692Y-81686516D01*
X56891546Y-81876246D01*
X56895822Y-81843983D01*
X56887102Y-81909774D01*
X56895751Y-82140158D01*
X56943093Y-82365791D01*
@ -19933,7 +19915,7 @@ X74070201Y-67462400D01*
X74120240Y-67401373D01*
X74120244Y-67401367D01*
X74123624Y-67397245D01*
X74162719Y-67328566D01*
X74131541Y-67383338D01*
X74235032Y-67201529D01*
X74237675Y-67196886D01*
X74316337Y-66980175D01*
@ -19989,7 +19971,7 @@ X72389217Y-65156544D01*
X72290832Y-65216246D01*
X72196683Y-65273377D01*
X72192653Y-65276874D01*
X72051324Y-65399513D01*
X72095552Y-65361134D01*
X72022555Y-65424477D01*
X72019168Y-65428608D01*
X71879760Y-65598627D01*
@ -20035,7 +20017,7 @@ X69889217Y-65156544D01*
X69790832Y-65216246D01*
X69696683Y-65273377D01*
X69692653Y-65276874D01*
X69551324Y-65399513D01*
X69595552Y-65361134D01*
X69522555Y-65424477D01*
X69519168Y-65428608D01*
X69379760Y-65598627D01*
@ -20081,7 +20063,7 @@ X67389217Y-65156544D01*
X67290832Y-65216246D01*
X67196683Y-65273377D01*
X67192653Y-65276874D01*
X67051324Y-65399513D01*
X67095552Y-65361134D01*
X67022555Y-65424477D01*
X66993330Y-65460120D01*
X66934671Y-65500114D01*
@ -20122,9 +20104,6 @@ X64207885Y-65452262D01*
X64188629Y-65510318D01*
X64156432Y-65607390D01*
X64152203Y-65620139D01*
X64151503Y-65626975D01*
X64151502Y-65626978D01*
X64149338Y-65648102D01*
X64141500Y-65724600D01*
X64141500Y-67275400D01*
X56008500Y-67275400D01*
@ -24846,9 +24825,10 @@ X122809337Y-80486603D01*
X122800774Y-80497028D01*
X122789989Y-80508594D01*
X122776519Y-80521332D01*
X122769977Y-80529889D01*
X122752379Y-80552906D01*
X122720145Y-80595066D01*
X122717414Y-80598513D01*
X122693625Y-80627474D01*
X122658466Y-80670278D01*
X122649138Y-80686306D01*
X122640346Y-80699439D01*
@ -24954,9 +24934,9 @@ X121794227Y-84162236D01*
X121792365Y-84168106D01*
X121770319Y-84364651D01*
X121770835Y-84370795D01*
X121784470Y-84533171D01*
X121783868Y-84526004D01*
X121786868Y-84561734D01*
X121796112Y-84593970D01*
X121799418Y-84605500D01*
X121836953Y-84736400D01*
X121841383Y-84751850D01*
X121844202Y-84757335D01*
@ -24984,7 +24964,7 @@ X123326596Y-85234425D01*
X123482447Y-85112661D01*
X123611678Y-84962945D01*
X123709369Y-84790979D01*
X123736283Y-84710072D01*
X123727525Y-84736400D01*
X123738158Y-84704436D01*
X123778639Y-84646112D01*
X123823832Y-84622850D01*
@ -25057,8 +25037,7 @@ X132721315Y-85702111D01*
X132721323Y-85702108D01*
X132881504Y-85630791D01*
X132951871Y-85621357D01*
X132984001Y-85630791D01*
X133125529Y-85693803D01*
X132984000Y-85630791D01*
X133150215Y-85704794D01*
X133243616Y-85724647D01*
X133330559Y-85743128D01*
@ -25069,52 +25048,31 @@ X133534442Y-85743128D01*
X133534447Y-85743128D01*
X133621390Y-85724647D01*
X133714791Y-85704794D01*
X133739478Y-85693803D01*
X133801657Y-85666119D01*
X133872024Y-85656685D01*
X133926966Y-85679290D01*
X133937900Y-85687234D01*
X133937911Y-85687240D01*
X133943248Y-85691118D01*
X133949275Y-85693801D01*
X133949276Y-85693802D01*
X134111681Y-85766109D01*
X134117712Y-85768794D01*
X134211112Y-85788647D01*
X134298056Y-85807128D01*
X134298061Y-85807128D01*
X134304513Y-85808500D01*
X134495487Y-85808500D01*
X134501939Y-85807128D01*
X134501944Y-85807128D01*
X134588888Y-85788647D01*
X134682288Y-85768794D01*
X134688319Y-85766109D01*
X134850722Y-85693803D01*
X134850724Y-85693802D01*
X134856752Y-85691118D01*
X135011253Y-85578866D01*
X135055025Y-85530252D01*
X135134621Y-85441852D01*
X135134622Y-85441851D01*
X135139040Y-85436944D01*
X135203523Y-85325257D01*
X135231223Y-85277279D01*
X135231224Y-85277278D01*
X135234527Y-85271556D01*
X135293542Y-85089928D01*
X135300959Y-85019365D01*
X135312814Y-84906565D01*
X135313504Y-84900000D01*
X135302046Y-84790979D01*
X135294232Y-84716635D01*
X135294232Y-84716633D01*
X135293542Y-84710072D01*
X135278876Y-84664935D01*
X135276848Y-84593970D01*
X135313510Y-84533171D01*
X135377222Y-84501846D01*
X135398709Y-84500000D01*
X133720824Y-85702108D01*
X133883225Y-85629803D01*
X133883227Y-85629802D01*
X133889255Y-85627118D01*
X133897185Y-85621357D01*
X134029334Y-85525344D01*
X134043756Y-85514866D01*
X134048178Y-85509955D01*
X134167124Y-85377852D01*
X134167125Y-85377851D01*
X134171543Y-85372944D01*
X134253709Y-85230629D01*
X134263726Y-85213279D01*
X134263727Y-85213278D01*
X134267030Y-85207556D01*
X134326045Y-85025928D01*
X134327641Y-85010749D01*
X134345317Y-84842565D01*
X134346007Y-84836000D01*
X134326045Y-84646072D01*
X134327117Y-84645959D01*
X134332044Y-84581405D01*
X134374861Y-84524773D01*
X134441499Y-84500280D01*
X134449888Y-84500000D01*
X144374000Y-84500000D01*
X144442121Y-84520002D01*
X144488614Y-84573658D01*
@ -28550,7 +28508,7 @@ X106148162Y-83724965D01*
X106185120Y-83853852D01*
X106194983Y-83888250D01*
X106197802Y-83893735D01*
X106274565Y-84043098D01*
X106238231Y-83972400D01*
X106285387Y-84064156D01*
X106408235Y-84219153D01*
X106412928Y-84223147D01*
@ -28586,7 +28544,7 @@ X107621778Y-85530251D01*
X107621779Y-85530252D01*
X107710853Y-85629179D01*
X107745147Y-85667266D01*
X107781671Y-85693802D01*
X107793103Y-85702108D01*
X107889653Y-85772256D01*
X107899648Y-85779518D01*
X107905676Y-85782202D01*
@ -28607,7 +28565,7 @@ X108807122Y-85782203D01*
X108807124Y-85782202D01*
X108813152Y-85779518D01*
X108823148Y-85772256D01*
X108931129Y-85693802D01*
X108919697Y-85702108D01*
X108967653Y-85667266D01*
X109001947Y-85629179D01*
X109091021Y-85530252D01*
@ -28636,9 +28594,6 @@ X113488786Y-84334565D01*
X113506770Y-84505669D01*
X113508058Y-84517928D01*
X113567073Y-84699556D01*
X113570376Y-84705278D01*
X113570377Y-84705279D01*
X113588345Y-84736400D01*
X113662560Y-84864944D01*
X113666978Y-84869851D01*
X113666979Y-84869852D01*
@ -28671,9 +28626,6 @@ X115089017Y-84922277D01*
X115136221Y-84869852D01*
X115136222Y-84869851D01*
X115140640Y-84864944D01*
X115214855Y-84736400D01*
X115232823Y-84705279D01*
X115232824Y-84705278D01*
X115236127Y-84699556D01*
X115295142Y-84517928D01*
X115296431Y-84505669D01*
@ -29033,15 +28985,12 @@ X112603432Y-82366633D01*
X112602742Y-82360072D01*
X112543727Y-82178444D01*
X112536229Y-82165456D01*
X112455098Y-82024934D01*
X112455181Y-82025079D01*
X112448240Y-82013056D01*
X112356603Y-81911282D01*
X112324875Y-81876045D01*
X112324874Y-81876044D01*
X112320453Y-81871134D01*
X112205581Y-81787674D01*
X112171294Y-81762763D01*
X112171293Y-81762762D01*
X112165952Y-81758882D01*
X112159924Y-81756198D01*
X112159922Y-81756197D01*
@ -29062,24 +29011,21 @@ X111420881Y-81683891D01*
X111258478Y-81756197D01*
X111258476Y-81756198D01*
X111252448Y-81758882D01*
X111247107Y-81762762D01*
X111247106Y-81762763D01*
X111212819Y-81787674D01*
X111097947Y-81871134D01*
X111093526Y-81876044D01*
X111093525Y-81876045D01*
X111061798Y-81911282D01*
X110970160Y-82013056D01*
X110963302Y-82024934D01*
X110963219Y-82025079D01*
X110882172Y-82165456D01*
X110874673Y-82178444D01*
X110837997Y-82291322D01*
X110837046Y-82294249D01*
X110836325Y-82296467D01*
X110796252Y-82355073D01*
X110730855Y-82382710D01*
X110660898Y-82370603D01*
X110607373Y-82320531D01*
X110531144Y-82188500D01*
X110526722Y-82180840D01*
X110517840Y-82165456D01*
X110502838Y-82148794D01*
X110394475Y-82028445D01*
@ -29091,14 +29037,14 @@ X110229522Y-81908597D01*
X110067119Y-81836291D01*
X110067118Y-81836291D01*
X110061088Y-81833606D01*
X109953621Y-81810763D01*
X109947397Y-81809440D01*
X109880744Y-81795272D01*
X109880739Y-81795272D01*
X109874287Y-81793900D01*
X109683313Y-81793900D01*
X109676861Y-81795272D01*
X109676856Y-81795272D01*
X109603979Y-81810763D01*
X109610203Y-81809440D01*
X109496512Y-81833606D01*
X109490482Y-81836291D01*
X109490481Y-81836291D01*
@ -29118,7 +29064,7 @@ X108874281Y-82304758D01*
X108808370Y-82278371D01*
X108792633Y-82263650D01*
X108713653Y-82175934D01*
X108614557Y-82103936D01*
X108610700Y-82101134D01*
X108564494Y-82067563D01*
X108564493Y-82067562D01*
X108559152Y-82063682D01*
@ -29143,11 +29089,11 @@ X107651676Y-82060998D01*
X107645648Y-82063682D01*
X107640307Y-82067562D01*
X107640306Y-82067563D01*
X107590243Y-82103936D01*
X107594100Y-82101134D01*
X107491147Y-82175934D01*
X107486726Y-82180844D01*
X107486725Y-82180845D01*
X107453227Y-82218049D01*
X107479833Y-82188500D01*
X107363360Y-82317856D01*
X107313913Y-82403500D01*
X107291590Y-82442165D01*
@ -29166,7 +29112,7 @@ X106907517Y-82531482D01*
X106757581Y-82575610D01*
X106752123Y-82578463D01*
X106752119Y-82578465D01*
X106711388Y-82599759D01*
X106661347Y-82625920D01*
X106582310Y-82667240D01*
X106428175Y-82791168D01*
X106301046Y-82942674D01*
@ -29282,9 +29228,6 @@ X105389832Y-80131433D01*
X105389142Y-80124872D01*
X105330127Y-79943244D01*
X105234640Y-79777856D01*
X105192237Y-79730762D01*
X105111275Y-79640845D01*
X105111274Y-79640844D01*
X105106853Y-79635934D01*
X104952352Y-79523682D01*
X104946324Y-79520998D01*
@ -29307,9 +29250,6 @@ X104044878Y-79520997D01*
X104044876Y-79520998D01*
X104038848Y-79523682D01*
X103884347Y-79635934D01*
X103879926Y-79640844D01*
X103879925Y-79640845D01*
X103798964Y-79730762D01*
X103756560Y-79777856D01*
X103661073Y-79943244D01*
X103602058Y-80124872D01*

View File

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.10*%
%TF.CreationDate,2023-01-16T16:43:16+03:00*%
%TF.CreationDate,2023-02-06T19:47:40+03:00*%
%TF.ProjectId,multistepper,6d756c74-6973-4746-9570-7065722e6b69,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Drillmap*%
%TF.FilePolarity,Positive*%
%FSLAX45Y45*%
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-01-16 16:43:16*
G04 Created by KiCad (PCBNEW 6.0.10) date 2023-02-06 19:47:40*
%MOMM*%
%LPD*%
G01*
@ -875,10 +875,6 @@ X13323250Y-8463600D02*
X13363250Y-8503600D01*
X13363250Y-8463600D02*
X13323250Y-8503600D01*
X13355640Y-7849950D02*
X13395640Y-7889950D01*
X13395640Y-7849950D02*
X13355640Y-7889950D01*
X13365800Y-9923550D02*
X13405800Y-9963550D01*
X13405800Y-9923550D02*
@ -903,10 +899,6 @@ X13413300Y-9016150D02*
X13453300Y-9056150D01*
X13453300Y-9016150D02*
X13413300Y-9056150D01*
X13420000Y-8470000D02*
X13460000Y-8510000D01*
X13460000Y-8470000D02*
X13420000Y-8510000D01*
X13460800Y-9696050D02*
X13500800Y-9736050D01*
X13500800Y-9696050D02*
@ -1180,10 +1172,10 @@ G75*
G03*
X13111000Y-9936480I-30000J0D01*
G01*
X13272542Y-7992542D02*
X13209222Y-7992542D02*
G75*
G03*
X13272542Y-7992542I-30000J0D01*
X13209222Y-7992542I-30000J0D01*
G01*
X13387860Y-8097520D02*
G75*
@ -1230,6 +1222,11 @@ G75*
G03*
X14284480Y-13883640I-30000J0D01*
G01*
X14374650Y-6757670D02*
G75*
G03*
X14374650Y-6757670I-30000J0D01*
G01*
X14504300Y-13883640D02*
G75*
G03*
@ -4129,9 +4126,22 @@ X9469286Y-15135476D01*
X9421667Y-14925952D02*
X9374048Y-15068809D01*
X9497857Y-15068809D01*
X9555000Y-14935476D02*
X9688333Y-14935476D01*
X9602619Y-15135476D01*
X9669286Y-14935476D02*
X9574048Y-14935476D01*
X9564524Y-15030714D01*
X9574048Y-15021190D01*
X9593095Y-15011667D01*
X9640714Y-15011667D01*
X9659762Y-15021190D01*
X9669286Y-15030714D01*
X9678810Y-15049762D01*
X9678810Y-15097381D01*
X9669286Y-15116428D01*
X9659762Y-15125952D01*
X9640714Y-15135476D01*
X9593095Y-15135476D01*
X9574048Y-15125952D01*
X9564524Y-15116428D01*
X9916905Y-15135476D02*
X9916905Y-14935476D01*
X10002619Y-15135476D02*
@ -4446,44 +4456,49 @@ X9078810Y-15228048D01*
X9088333Y-15209000D01*
X9107381Y-15180428D01*
X9116905Y-15170905D01*
X9288333Y-15199476D02*
X9193095Y-15199476D01*
X9183571Y-15294714D01*
X9193095Y-15285190D01*
X9212143Y-15275667D01*
X9259762Y-15275667D01*
X9278810Y-15285190D01*
X9288333Y-15294714D01*
X9297857Y-15313762D01*
X9297857Y-15361381D01*
X9288333Y-15380428D01*
X9278810Y-15389952D01*
X9278810Y-15199476D02*
X9240714Y-15199476D01*
X9221667Y-15209000D01*
X9212143Y-15218524D01*
X9193095Y-15247095D01*
X9183571Y-15285190D01*
X9183571Y-15361381D01*
X9193095Y-15380428D01*
X9202619Y-15389952D01*
X9221667Y-15399476D01*
X9259762Y-15399476D01*
X9212143Y-15399476D01*
X9193095Y-15389952D01*
X9183571Y-15380428D01*
X9393095Y-15399476D02*
X9431190Y-15399476D01*
X9450238Y-15389952D01*
X9459762Y-15380428D01*
X9478810Y-15351857D01*
X9488333Y-15313762D01*
X9488333Y-15237571D01*
X9478810Y-15218524D01*
X9469286Y-15209000D01*
X9450238Y-15199476D01*
X9412143Y-15199476D01*
X9393095Y-15209000D01*
X9383571Y-15218524D01*
X9374048Y-15237571D01*
X9374048Y-15285190D01*
X9383571Y-15304238D01*
X9393095Y-15313762D01*
X9412143Y-15323286D01*
X9450238Y-15323286D01*
X9469286Y-15313762D01*
X9478810Y-15304238D01*
X9488333Y-15285190D01*
X9278810Y-15389952D01*
X9288333Y-15380428D01*
X9297857Y-15361381D01*
X9297857Y-15313762D01*
X9288333Y-15294714D01*
X9278810Y-15285190D01*
X9259762Y-15275667D01*
X9221667Y-15275667D01*
X9202619Y-15285190D01*
X9193095Y-15294714D01*
X9183571Y-15313762D01*
X9421667Y-15199476D02*
X9440714Y-15199476D01*
X9459762Y-15209000D01*
X9469286Y-15218524D01*
X9478810Y-15237571D01*
X9488333Y-15275667D01*
X9488333Y-15323286D01*
X9478810Y-15361381D01*
X9469286Y-15380428D01*
X9459762Y-15389952D01*
X9440714Y-15399476D01*
X9421667Y-15399476D01*
X9402619Y-15389952D01*
X9393095Y-15380428D01*
X9383571Y-15361381D01*
X9374048Y-15323286D01*
X9374048Y-15275667D01*
X9383571Y-15237571D01*
X9393095Y-15218524D01*
X9402619Y-15209000D01*
X9421667Y-15199476D01*
X9726429Y-15399476D02*
X9726429Y-15199476D01*
X9812143Y-15399476D02*

View File

@ -5,7 +5,7 @@
"Application": "Pcbnew",
"Version": "6.0.10"
},
"CreationDate": "2023-01-16T16:43:20+03:00"
"CreationDate": "2023-02-06T19:48:01+03:00"
},
"GeneralSpecs": {
"ProjectId": {

View File

@ -1,7 +1,7 @@
M48
; DRILL file {KiCad 6.0.10} date Пн 16 янв 2023 16:43:17
; DRILL file {KiCad 6.0.10} date Пн 06 фев 2023 19:47:43
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2023-01-16T16:43:17+03:00
; #@! TF.CreationDate,2023-02-06T19:47:43+03:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,6.0.10
; #@! TF.FileFunction,MixedPlating,1,4
FMAT,2
@ -242,14 +242,12 @@ X132.893Y-95.91
X132.944Y-98.552
X133.401Y-94.234
X133.433Y-84.836
X133.756Y-78.7
X133.858Y-99.435
X133.96Y-61.671
X134.264Y-119.837
X134.315Y-94.996
X134.333Y-82.561
X134.333Y-90.361
X134.4Y-84.9
X134.808Y-97.16
X134.808Y-99.435
X135.128Y-63.856
@ -312,7 +310,7 @@ X126.136Y-101.194
X127.864Y-75.286
X128.88Y-76.505
X130.81Y-99.365
X132.425Y-79.925
X131.792Y-79.925
X133.579Y-80.975
X135.585Y-87.427
X135.941Y-98.196
@ -322,6 +320,7 @@ X139.598Y-138.836
X141.021Y-138.836
X142.037Y-130.607
X142.545Y-138.836
X143.446Y-67.577
X144.743Y-138.836
X145.999Y-138.735
X146.202Y-118.669

View File

@ -689,6 +689,151 @@
)
)
)
(symbol "Device:Q_PMOS_GSD" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
(property "Reference" "Q" (id 0) (at 5.08 1.27 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "Q_PMOS_GSD" (id 1) (at 5.08 -1.27 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (id 2) (at 5.08 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "transistor PMOS P-MOS P-MOSFET" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "P-MOSFET transistor, gate/source/drain" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Q_PMOS_GSD_0_1"
(polyline
(pts
(xy 0.254 0)
(xy -2.54 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.254 1.905)
(xy 0.254 -1.905)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.762 -1.27)
(xy 0.762 -2.286)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.762 0.508)
(xy 0.762 -0.508)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.762 2.286)
(xy 0.762 1.27)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 2.54 2.54)
(xy 2.54 1.778)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 2.54 -2.54)
(xy 2.54 0)
(xy 0.762 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.762 1.778)
(xy 3.302 1.778)
(xy 3.302 -1.778)
(xy 0.762 -1.778)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 2.286 0)
(xy 1.27 0.381)
(xy 1.27 -0.381)
(xy 2.286 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type outline))
)
(polyline
(pts
(xy 2.794 -0.508)
(xy 2.921 -0.381)
(xy 3.683 -0.381)
(xy 3.81 -0.254)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 3.302 -0.381)
(xy 2.921 0.254)
(xy 3.683 0.254)
(xy 3.302 -0.381)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(circle (center 1.651 0) (radius 2.794)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(circle (center 2.54 -1.778) (radius 0.254)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type outline))
)
(circle (center 2.54 1.778) (radius 0.254)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type outline))
)
)
(symbol "Q_PMOS_GSD_1_1"
(pin input line (at -5.08 0 0) (length 2.54)
(name "G" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 -5.08 90) (length 2.54)
(name "S" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 5.08 270) (length 2.54)
(name "D" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "R" (id 0) (at 2.032 0 90)
(effects (font (size 1.27 1.27)))
@ -1687,168 +1832,6 @@
)
)
)
(symbol "Transistor_BJT:DTA114Y" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
(property "Reference" "Q" (id 0) (at 5.08 1.905 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "DTA114Y" (id 1) (at 5.08 0 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "ki_keywords" "ROHM Digital PNP Transistor" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "Digital PNP Transistor, 10k/47k, SOT-23" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "SOT?23* SC?59*" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "DTA114Y_0_0"
(text "10k" (at -3.302 0.889 0)
(effects (font (size 0.508 0.508)))
)
(text "47k" (at -2.159 -1.524 900)
(effects (font (size 0.508 0.508)))
)
)
(symbol "DTA114Y_0_1"
(circle (center -1.27 0) (radius 0.127)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(arc (start -1.27 3.175) (mid -4.445 0) (end -1.27 -3.175)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -3.429 0)
(xy -3.81 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.27 -3.175)
(xy 0.635 -3.175)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.27 3.175)
(xy 0.635 3.175)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0 -0.254)
(xy 2.54 2.286)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0.127 1.524)
(xy 0.127 -1.651)
)
(stroke (width 0.508) (type default) (color 0 0 0 0))
(fill (type outline))
)
(polyline
(pts
(xy 2.54 2.286)
(xy 2.54 2.54)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 2.54 -2.286)
(xy 0 0.254)
(xy 0 0.254)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 1.397 -1.651)
(xy 1.905 -1.143)
(xy 0.889 -0.635)
(xy 1.397 -1.651)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type outline))
)
(polyline
(pts
(xy 0 0)
(xy -1.905 0)
(xy -2.032 0.508)
(xy -2.286 -0.508)
(xy -2.54 0.508)
(xy -2.794 -0.508)
(xy -3.048 0.508)
(xy -3.302 -0.508)
(xy -3.429 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.27 0)
(xy -1.27 -0.381)
(xy -0.762 -0.508)
(xy -1.778 -0.762)
(xy -0.762 -1.016)
(xy -1.778 -1.27)
(xy -0.762 -1.524)
(xy -1.778 -1.778)
(xy -1.27 -1.905)
(xy -1.27 -2.286)
(xy 2.54 -2.286)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(arc (start 0.635 -3.175) (mid 3.81 0) (end 0.635 3.175)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(circle (center 2.54 -2.286) (radius 0.127)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "DTA114Y_1_1"
(pin input line (at -6.35 0 0) (length 2.54)
(name "B" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 -5.08 90) (length 2.54)
(name "E" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 5.08 270) (length 2.54)
(name "C" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "power:+3.3VADC" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (id 0) (at 3.81 -1.27 0)
(effects (font (size 1.27 1.27)) hide)
@ -2278,8 +2261,11 @@
(uuid f2278fd0-1c39-4c24-9635-5e8b18a50448)
)
(no_connect (at 186.182 28.448) (uuid 06d86049-2a55-4c94-97d5-d24bfe1b1ee9))
(no_connect (at 60.706 165.608) (uuid 509525b0-e679-4c4c-9f52-c8912fb9a615))
(no_connect (at 21.209 168.91) (uuid 52fe7fbe-774c-4e13-b661-a94fa38ae273))
(no_connect (at 31.369 168.91) (uuid 52fe7fbe-774c-4e13-b661-a94fa38ae274))
(no_connect (at 50.546 165.608) (uuid 628edbb0-c883-4d1a-b21c-5f8c7973cb74))
(no_connect (at 192.786 157.988) (uuid c2517d9b-b7e6-4140-a646-8087d32dd2b5))
(no_connect (at 202.946 157.988) (uuid c2517d9b-b7e6-4140-a646-8087d32dd2b6))
@ -2315,9 +2301,9 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 0ca1183e-6230-4924-8bd5-0e159713dd0d)
)
(wire (pts (xy 46.482 163.83) (xy 51.308 163.83))
(wire (pts (xy 48.768 170.688) (xy 50.546 170.688))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 10873c6a-55d1-4b9e-bf01-fee8a07bfe84)
(uuid 1205f1dd-e294-4961-a85e-b6d1ee373036)
)
(wire (pts (xy 81.28 68.58) (xy 82.042 68.58))
(stroke (width 0) (type default) (color 0 0 0 0))
@ -2359,10 +2345,6 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 372cb15c-e1ad-40bb-be70-02ef5397c29c)
)
(wire (pts (xy 46.482 161.29) (xy 51.308 161.29))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 38f0a774-f729-4f11-9889-4ca041cf7bb2)
)
(wire (pts (xy 23.622 56.134) (xy 23.622 52.324))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 3b1ee86c-4611-42a4-b68b-33ec4c1da7f5)
@ -2371,6 +2353,10 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 3c98884e-908e-4dab-82d6-2f4507cc9b89)
)
(wire (pts (xy 50.546 173.228) (xy 48.006 173.228))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 3dc597e5-6478-4abe-b33d-bc3efc7a8a62)
)
(wire (pts (xy 116.84 30.48) (xy 119.38 30.48))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 42be2411-a36c-42a6-8533-f82cc5828e14)
@ -2423,6 +2409,10 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 58dc30f8-92eb-4a99-9fe5-cb7b38c941d7)
)
(wire (pts (xy 48.006 168.91) (xy 46.482 168.91))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 5af75ed3-d776-4d4e-8dcd-16ef1adb5c6c)
)
(wire (pts (xy 145.796 119.38) (xy 132.08 119.38))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 5b231827-14c0-446d-89f3-59b2ed4655b4)
@ -2435,10 +2425,6 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 604445e4-5c36-4318-9f5e-b3f15f17bf0c)
)
(wire (pts (xy 46.482 168.91) (xy 51.308 168.91))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 62faa77d-3b0d-41d1-828d-b9612dd900f2)
)
(wire (pts (xy 218.567 93.091) (xy 227.203 93.091))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 63490c5a-a381-4e4b-8e86-506a82796a19)
@ -2495,6 +2481,10 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 843c256f-d267-486a-bd41-f7e02f1dc735)
)
(wire (pts (xy 50.546 168.148) (xy 49.53 168.148))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 86628659-b5b8-43fb-afca-a8f13ce18d75)
)
(wire (pts (xy 21.59 24.384) (xy 23.495 24.384))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 872066a7-d861-4ed2-82c8-0d7d3794cbe0)
@ -2503,6 +2493,10 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 8e7aa26a-2202-42f1-ab5d-9f9f5b418c8d)
)
(wire (pts (xy 48.768 166.37) (xy 48.768 170.688))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 8ee2adca-848e-4157-852a-5509b14debcf)
)
(wire (pts (xy 243.586 35.56) (xy 243.586 43.18))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 91761fae-099a-4c4a-9123-0fc2f2b5ae3b)
@ -2535,14 +2529,14 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid a62b1db4-2895-4818-bb1b-130e6878c559)
)
(wire (pts (xy 46.482 166.37) (xy 51.308 166.37))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid a63a356b-d76b-4673-8e73-769e0e20944f)
)
(wire (pts (xy 177.038 72.39) (xy 186.182 72.39))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid a726c764-b584-4de6-99f0-753de758ac40)
)
(wire (pts (xy 58.928 161.29) (xy 58.928 158.75))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid a96e938a-fefd-4099-8d00-d03acb3a7d8a)
)
(wire (pts (xy 109.22 170.18) (xy 111.76 170.18))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid aaa8e8e2-d7e8-469d-92df-c4d349ff042e)
@ -2551,10 +2545,22 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid aaae6473-5dab-4dc6-a684-aa5e71b5e76a)
)
(wire (pts (xy 49.53 168.148) (xy 49.53 163.83))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid ab1246b5-9f3d-482e-92fd-f524580a9ca0)
)
(wire (pts (xy 132.08 73.66) (xy 146.558 73.66))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid ac2aefd0-5999-4186-a677-07a6d98b84f8)
)
(wire (pts (xy 48.006 173.228) (xy 48.006 168.91))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid ad1d8c84-e359-4968-9133-0c7642fbc450)
)
(wire (pts (xy 46.482 166.37) (xy 48.768 166.37))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid b0619b11-b106-41e3-b3e4-a451fa2d1f31)
)
(wire (pts (xy 202.946 155.448) (xy 205.994 155.448))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid b360d30b-159d-4b86-94bc-61d54a1f5a25)
@ -2591,6 +2597,10 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid cae2be6a-ff2e-44f8-bbac-8d044df28da9)
)
(wire (pts (xy 54.102 161.29) (xy 58.928 161.29))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid caea48c6-a961-4be3-bfa8-c9493e2b47c5)
)
(wire (pts (xy 111.76 170.18) (xy 114.3 170.18))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid cef41095-0af4-4266-9fb7-2a3dd5f321bc)
@ -2627,6 +2637,10 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid e0889c7e-e541-42fe-b105-645686610c3c)
)
(wire (pts (xy 49.53 163.83) (xy 46.482 163.83))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid e829515e-f39b-4756-959e-c885fcbcd671)
)
(wire (pts (xy 106.68 30.48) (xy 109.22 30.48))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid e95efc31-5519-4557-9464-3ad16d4d5339)
@ -2652,7 +2666,7 @@
(uuid fad64f09-a658-450e-8d5c-a11641ade1a1)
)
(label "BTN0" (at 146.558 58.42 0)
(label "DPPU" (at 146.558 58.42 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 0681777a-f319-4ba4-ba32-1a31b1b11874)
)
@ -2720,10 +2734,6 @@
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 2e61b8f1-46ff-4eef-bf06-70d41ea54ffb)
)
(label "BTN0" (at 186.182 28.448 180)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 2ee9f504-bccc-4e2e-91b1-a44f9fef396e)
)
(label "SCRN_SCK" (at 145.796 114.3 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 33cd2733-101d-4c2c-8601-3c9ead0fcf5b)
@ -2752,7 +2762,7 @@
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 4230d8b9-3117-4a0f-b543-8e9021859fa0)
)
(label "BTN1" (at 61.468 163.83 0)
(label "BTN1" (at 60.706 168.148 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 423b25dc-dc82-4463-94d5-c093785a8385)
)
@ -2836,7 +2846,7 @@
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 80090c33-f029-4b51-9d37-c525883326b3)
)
(label "BTN2_SDA" (at 61.468 166.37 0)
(label "BTN2_SDA" (at 60.706 170.688 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 81c5aae1-5c86-4376-8f42-3741ef9c1b2b)
)
@ -2884,7 +2894,7 @@
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 97b960d8-cbfa-43cd-b186-73db83d585a0)
)
(label "BTN3_SCL" (at 61.468 168.91 0)
(label "BTN3_SCL" (at 60.706 173.228 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 9e306f30-1897-445b-b745-f463bab7fbb3)
)
@ -2928,10 +2938,6 @@
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid b59e7745-51ce-48f2-bbf0-25beacb3af81)
)
(label "BTN0" (at 61.468 161.29 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid b699e8ce-76b1-4b3a-82b7-5d5265894fc9)
)
(label "BOOT0" (at 91.44 43.18 180)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid bc15127b-6c9d-4382-9a87-a19a917da1cc)
@ -2968,6 +2974,10 @@
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid d41f1909-70f7-483e-869f-c3c68fd80fea)
)
(label "DPPU" (at 252.73 101.6 180)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid d5de1ee3-947a-46d6-830f-c49b61568183)
)
(label "OUT1" (at 192.786 152.908 180)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid d917aa50-605a-4152-a948-894953ae0799)
@ -3020,10 +3030,6 @@
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid f940647f-4e02-4461-9f87-fc9da114378c)
)
(label "SWDIO" (at 251.714 102.362 180)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid faef911f-8b50-45a6-a175-731cd25a1516)
)
(label "A2" (at 132.08 43.18 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid fb06af1a-1d10-4931-a214-334fcead3760)
@ -3216,10 +3222,10 @@
(effects (font (size 1.27 1.27)) (justify left) hide)
)
)
(global_label "USB_DP" (shape bidirectional) (at 260.604 115.062 0) (fields_autoplaced)
(global_label "USB_DP" (shape bidirectional) (at 267.97 114.3 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 5e24ecd7-d9ae-4c2e-b6ee-798d7497a60d)
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 270.3347 114.9826 0)
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 277.7007 114.2206 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
)
@ -3707,17 +3713,17 @@
(pin "2" (uuid 80be961a-7ca0-4874-a441-f16baeeaf2e3))
)
(symbol (lib_id "power:+3V3") (at 260.604 97.282 0) (unit 1)
(symbol (lib_id "power:+3V3") (at 267.97 96.52 0) (unit 1)
(in_bom yes) (on_board yes) (fields_autoplaced)
(uuid 0cf72bad-6be3-4508-9189-05df7a1bf410)
(property "Reference" "#PWR062" (id 0) (at 260.604 101.092 0)
(property "Reference" "#PWR062" (id 0) (at 267.97 100.33 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+3V3" (id 1) (at 260.604 93.7062 0))
(property "Footprint" "" (id 2) (at 260.604 97.282 0)
(property "Value" "+3V3" (id 1) (at 267.97 92.9442 0))
(property "Footprint" "" (id 2) (at 267.97 96.52 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 260.604 97.282 0)
(property "Datasheet" "" (id 3) (at 267.97 96.52 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 02dca689-0ec2-423b-b82f-cc8e884dfd46))
@ -4088,6 +4094,18 @@
(pin "9" (uuid ac39dbce-f2c8-431a-bbde-7e589bbd3753))
)
(symbol (lib_id "stm32-rescue:GND") (at 252.73 109.22 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 3c7fc671-bcd2-4995-b45a-f4c0c21d27bd)
(property "Reference" "#PWR064" (id 0) (at 252.73 115.57 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (id 1) (at 252.73 113.03 0))
(property "Footprint" "" (id 2) (at 252.73 109.22 0))
(property "Datasheet" "" (id 3) (at 252.73 109.22 0))
(pin "1" (uuid 8311b499-89a1-4bca-83b0-963c28981d3d))
)
(symbol (lib_id "stm32-rescue:GND") (at 205.994 157.988 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 3f05da32-d730-48dc-afcd-eb1045236dff)
@ -4122,7 +4140,7 @@
(in_bom yes) (on_board yes)
(uuid 41ba9fe3-fda3-4c5a-b5ed-45ddc9637d82)
(property "Reference" "R3" (id 0) (at 50.292 156.718 90))
(property "Value" "22" (id 1) (at 50.292 158.75 90))
(property "Value" "7.5" (id 1) (at 50.292 158.75 90))
(property "Footprint" "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder" (id 2) (at 50.292 160.528 90)
(effects (font (size 1.27 1.27)) hide)
)
@ -4201,15 +4219,35 @@
(pin "6" (uuid 1fbb7ced-58dc-4798-a2e7-bb9304458e44))
)
(symbol (lib_id "Device:R_Pack04") (at 56.388 166.37 90) (mirror x) (unit 1)
(in_bom yes) (on_board yes)
(uuid 4b11cc55-c6db-4a6b-8c07-496e85eff810)
(property "Reference" "RN3" (id 0) (at 56.388 158.75 90))
(property "Value" "330" (id 1) (at 56.388 171.45 90))
(property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (id 2) (at 56.388 173.355 90)
(symbol (lib_id "Device:Q_PMOS_GSD") (at 265.43 101.6 0) (mirror x) (unit 1)
(in_bom yes) (on_board yes) (fields_autoplaced)
(uuid 4aaed31f-871b-477f-80f7-78eb56ece162)
(property "Reference" "Q3" (id 0) (at 270.637 100.7653 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "AO3401" (id 1) (at 270.637 103.3022 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Package_TO_SOT_SMD:SOT-23_Handsoldering" (id 2) (at 270.51 104.14 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 56.388 166.37 0)
(property "Datasheet" "~" (id 3) (at 265.43 101.6 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 12c065d2-a9a0-4ccf-aac0-fc40db18cfc3))
(pin "2" (uuid fd6c48a9-304a-46e3-bc36-46c49fecb929))
(pin "3" (uuid 78a35485-d3f8-4228-b2a7-1244d0383311))
)
(symbol (lib_id "Device:R_Pack04") (at 55.626 170.688 90) (mirror x) (unit 1)
(in_bom yes) (on_board yes)
(uuid 4b11cc55-c6db-4a6b-8c07-496e85eff810)
(property "Reference" "RN3" (id 0) (at 55.626 163.068 90))
(property "Value" "330" (id 1) (at 55.626 175.768 90))
(property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (id 2) (at 55.626 177.673 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 55.626 170.688 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 922ebcd6-acac-4c29-857c-4455385ef27c))
@ -4302,15 +4340,15 @@
(pin "2" (uuid eb3e9405-45a7-458d-974e-8c81153cb07e))
)
(symbol (lib_id "stm32-rescue:R") (at 260.604 111.252 0) (mirror y) (unit 1)
(symbol (lib_id "stm32-rescue:R") (at 267.97 110.49 0) (mirror y) (unit 1)
(in_bom yes) (on_board yes)
(uuid 5a0fe310-84a9-4940-b321-708bd8fce0ae)
(property "Reference" "R33" (id 0) (at 258.572 111.252 90))
(property "Value" "1k5" (id 1) (at 260.604 111.252 90))
(property "Footprint" "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder" (id 2) (at 262.382 111.252 90)
(property "Reference" "R33" (id 0) (at 264.922 110.49 0))
(property "Value" "1k5" (id 1) (at 267.97 110.49 90))
(property "Footprint" "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder" (id 2) (at 269.748 110.49 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 260.604 111.252 0)
(property "Datasheet" "" (id 3) (at 267.97 110.49 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 9507431f-b7f6-4a31-b78a-3031c5e803d0))
@ -4429,6 +4467,22 @@
(pin "1" (uuid f7f1657e-81d2-4dde-977a-4200aecc4c52))
)
(symbol (lib_id "power:+5V") (at 58.928 158.75 0) (unit 1)
(in_bom yes) (on_board yes) (fields_autoplaced)
(uuid 7fe68159-d1bb-4ac3-bcbf-a26c08565a5b)
(property "Reference" "#PWR063" (id 0) (at 58.928 162.56 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+5V" (id 1) (at 58.928 155.1742 0))
(property "Footprint" "" (id 2) (at 58.928 158.75 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 58.928 158.75 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 5ecfa1a7-bfc4-4abb-a649-25bc3049e80c))
)
(symbol (lib_id "Power_Protection:SP0505BAHT") (at 232.156 113.03 90) (unit 1)
(in_bom yes) (on_board yes) (fields_autoplaced)
(uuid 86f3a6fb-c854-4b84-a948-5fdcfbfa655b)
@ -4552,6 +4606,21 @@
(pin "6" (uuid 0b7c02ae-fa50-4d44-a6f1-c4cdd97d0c97))
)
(symbol (lib_id "stm32-rescue:R") (at 252.73 105.41 0) (mirror y) (unit 1)
(in_bom yes) (on_board yes)
(uuid 906d6d88-74f6-46a5-9e3d-c80a83d789f2)
(property "Reference" "R35" (id 0) (at 249.428 105.41 0))
(property "Value" "10k" (id 1) (at 252.73 105.41 90))
(property "Footprint" "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder" (id 2) (at 254.508 105.41 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 252.73 105.41 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid e87e24fc-410d-4fea-b0a8-58e2ac338ec0))
(pin "2" (uuid d67a0aed-1a39-4cdc-a71f-29e39ed9d895))
)
(symbol (lib_id "Device:R") (at 32.766 184.15 90) (unit 1)
(in_bom yes) (on_board yes)
(uuid 94c62fc5-7755-4bfc-9497-cb4908571986)
@ -4582,11 +4651,26 @@
(pin "2" (uuid 7657ad4d-4d3d-4696-bfab-43bb204d8fa4))
)
(symbol (lib_id "stm32-rescue:R") (at 256.54 101.6 90) (mirror x) (unit 1)
(in_bom yes) (on_board yes)
(uuid 9be66433-ec9c-4b28-8df4-3bb35a6d51dd)
(property "Reference" "R36" (id 0) (at 256.54 99.314 90))
(property "Value" "330" (id 1) (at 256.54 101.6 90))
(property "Footprint" "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder" (id 2) (at 256.54 99.822 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 256.54 101.6 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 06c29d5d-ad11-45cf-8b07-13fe4905aa3e))
(pin "2" (uuid 1ac77e28-33b4-4f3e-83d6-59a44d0929d2))
)
(symbol (lib_id "Connector_Generic:Conn_02x05_Odd_Even") (at 38.862 163.83 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid 9eb0e3e4-2412-4862-9254-ebfae0e788ab)
(property "Reference" "J2" (id 0) (at 40.132 156.21 0))
(property "Value" "Buttons/I2C" (id 1) (at 43.434 171.577 0))
(property "Value" "Buttons/I2C" (id 1) (at 41.148 171.45 0))
(property "Footprint" "Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical" (id 2) (at 38.862 163.83 0)
(effects (font (size 1.27 1.27)) hide)
)
@ -4859,26 +4943,6 @@
(pin "1" (uuid 6d376730-308b-46ec-8c18-6ecaf7da86ed))
)
(symbol (lib_id "Transistor_BJT:DTA114Y") (at 258.064 102.362 0) (mirror x) (unit 1)
(in_bom yes) (on_board yes)
(uuid bfbf88df-b3a6-4add-b186-1969d32b6ac1)
(property "Reference" "Q3" (id 0) (at 262.8392 103.5304 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "DTA114Y" (id 1) (at 262.8392 101.219 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Package_TO_SOT_SMD:SOT-323_SC-70_Handsoldering" (id 2) (at 258.064 102.362 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" "" (id 3) (at 258.064 102.362 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(pin "1" (uuid 62a87cc0-8587-4b18-9148-9c3886b9251e))
(pin "2" (uuid bf8c0eee-d928-4fca-89c9-4d089e3af1ae))
(pin "3" (uuid 28b55cba-6e2a-4a44-99c2-e238ca70c448))
)
(symbol (lib_id "Device:R_Pack04") (at 26.289 166.37 90) (mirror x) (unit 1)
(in_bom yes) (on_board yes) (fields_autoplaced)
(uuid c2620a21-1c3d-4233-bbce-d374c7c78b67)
@ -5061,6 +5125,21 @@
(pin "2" (uuid 39036bab-6b67-4e2d-86e8-65e57590d42b))
)
(symbol (lib_id "Device:R") (at 50.292 161.29 90) (unit 1)
(in_bom yes) (on_board yes)
(uuid e6c5f93a-f087-442b-a5b7-aa75431da7f7)
(property "Reference" "R34" (id 0) (at 54.356 160.02 90))
(property "Value" "7.5" (id 1) (at 50.292 161.29 90))
(property "Footprint" "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder" (id 2) (at 50.292 163.068 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 50.292 161.29 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid ee98945f-1152-4191-9816-02e67b458f6a))
(pin "2" (uuid afdf4283-cf95-4c01-8f46-4654a0fb6e23))
)
(symbol (lib_id "stm32-rescue:GND") (at 33.782 168.91 0) (unit 1)
(in_bom yes) (on_board yes)
(uuid e834867c-3166-4adb-abbe-6c59acb368ea)

View File

@ -0,0 +1,328 @@
"Source:","/Big/Data/00__Electronics/STM32/F303-nolib/Multistepper/kicad/multistepper.kicad_sch"
"Date:","Пн 06 фев 2023 19:51:26"
"Tool:","Eeschema 6.0.10"
"Generator:","/usr/local/share/kicad/plugins/bom_csv_grouped_by_value.py"
"Component Count:","241"
"Individual Components:"
"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","Manufacturer"
"","","C1","6","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","C2","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"","","C3","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"","","C4","6","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","C5","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"","","C6","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"","","C7","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"","","C8","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"","","C9","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"","","C10","1u","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","C11","1u","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","C12","1u","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","C13","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"","","C14","47u 35V","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C_Pad2.25x2.35mm_HandSolder","~",""
"","","C15","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","C16","47u 6V","stm32-rescue:CP","Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A_Pad1.58x1.35mm_HandSolder","",""
"","","C17","47u 10V","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C_Pad2.25x2.35mm_HandSolder","~",""
"","","C18","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","C19","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"","","C20","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"","","C21","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"","","C22","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"","","C23","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"","","C24","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"","","C25","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"","","C26","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"","","C27","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","C28","47u 6V","stm32-rescue:CP","Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A_Pad1.58x1.35mm_HandSolder","",""
"","","C29","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"","","D1","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"","","D2","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"","","D3","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"","","D4","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"","","D5","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"","","D6","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"","","D7","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"","","D8","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"","","D9","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D10","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D11","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D12","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D13","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D14","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D15","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D16","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D17","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D18","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D19","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D20","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D21","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D22","MBRS130L","Device:D_Schottky","Diode_SMD:D_SMB_Handsoldering","~",""
"","","D23","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"","","D24","PESD1CAN","elements:PESD1CAN","Package_TO_SOT_SMD:SOT-23","",""
"","","D25","MM3Z7V5","Device:D_Zener","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
"","","D26","1N5822","Device:D","Diode_THT:D_DO-201_P3.81mm_Vertical_AnodeUp","~",""
"","","D27","MBRS130L","Device:D_Schottky","Diode_SMD:D_SMB_Handsoldering","~",""
"","","H1","MountingHole","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_DIN965_Pad","~",""
"","","H2","MountingHole","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_DIN965_Pad","~",""
"","","H3","MountingHole","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_DIN965_Pad","~",""
"","","H4","MountingHole","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_DIN965_Pad","~",""
"","","J1","Prog","Connector:Conn_01x06_Female","Connector_PinSocket_1.27mm:PinSocket_1x06_P1.27mm_Vertical","~",""
"","","J2","Buttons/I2C","Connector_Generic:Conn_02x05_Odd_Even","Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical","~",""
"","","J3","Screen","Connector_Generic:Conn_02x05_Odd_Even","Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical","~",""
"","","J4","ADC2","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
"","","J5","ADC1","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
"","","J6","MOT_MUL","Connector:Conn_01x05_Male","Connector_JST:JST_PH_B5B-PH-K_1x05_P2.00mm_Vertical","~",""
"","","J7","GPIO","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
"","","J8","USB_B","Connector:USB_B","Connector_USB:USB_B_OST_USB-B1HSxx_Horizontal"," ~",""
"","","J9","Screw_Terminal_01x03","Connector:Screw_Terminal_01x03","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal","~",""
"","","J10","Screw_Terminal_01x02","Connector:Screw_Terminal_01x02","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal","~",""
"","","J11","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J12","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J13","UART","Connector:Conn_01x03_Male","Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical","~",""
"","","J14","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J15","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J16","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J17","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J18","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J19","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J20","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J21","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J22","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J23","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J24","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J25","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J26","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","J27","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"","","JP1","CAN","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP2","USB5V","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP3","MCU","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP4","3V3ADC","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP5","3V3","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP6","Vdrive","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP7","Vio","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP8","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP9","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP10","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP11","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP12","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP13","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP14","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP15","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP16","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP17","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP18","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP19","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP20","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP21","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP22","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP23","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP24","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP25","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP26","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP27","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP28","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP29","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP30","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP31","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP32","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP33","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP34","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP35","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP36","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP37","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP38","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP39","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP40","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP41","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP42","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP43","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP44","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP45","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP46","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP47","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP48","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP49","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP50","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP51","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP52","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP53","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP54","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP55","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP56","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP57","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP58","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP59","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP60","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP61","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP62","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP63","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP64","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP65","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP66","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP67","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP68","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP69","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP70","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","JP71","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"","","L1","100u","Device:L","Inductor_THT:L_Toroid_Horizontal_D6.5mm_P10.00mm_Diameter7-5mm_Amidon-T25","~",""
"","","Q1","B0505S","elements:B0505S","stepper:B0x0xS","",""
"","","Q2","IRF9310","elements:IRF9310","Package_SO:SO-8_3.9x4.9mm_P1.27mm","~",""
"","","Q3","AO3401","Device:Q_PMOS_GSD","Package_TO_SOT_SMD:SOT-23_Handsoldering","~",""
"","","R1","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R2","22","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R3","7.5","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R4","7.5","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R5","5.1","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R6","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R7","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R8","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R9","22","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R10","91k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R11","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R12","47k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R13","47k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R14","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R15","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R16","22","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
"","","R17","22","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
"","","R18","120","stm32-rescue:R","Resistor_SMD:R_1210_3225Metric_Pad1.30x2.65mm_HandSolder","",""
"","","R19","4k7","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R20","4k7","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R21","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R22","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R23","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R24","22","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R25","22","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R26","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R27","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R28","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R29","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R30","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R31","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R32","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R33","1k5","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
"","","R34","7.5","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"","","R35","10k","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
"","","R36","330","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
"","","RN1","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN2","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN3","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN4","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN5","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN6","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN7","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN8","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN9","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN10","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN11","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN12","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN13","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN14","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","RN15","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"","","SW1","Reset","Switch:SW_Push","Button_Switch_SMD:SW_SPST_FSMSM","~",""
"","","SW2","Boot","Switch:SW_Push","Button_Switch_SMD:SW_SPST_FSMSM","~",""
"","","SW3","SW_DIP_x01","Switch:SW_DIP_x01","Button_Switch_THT:SW_DIP_SPSTx01_Slide_6.7x4.1mm_W7.62mm_P2.54mm_LowProfile","~",""
"","","TP1","5Vusb","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"","","TP2","Vin","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"","","TP3","Gnd","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"","","TP4","5Vext","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"","","TP5","3.3V","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"","","TP6","3V3ADC","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"","","TP7","5V","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"","","TP8","Vio","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"","","U1","STM32F303VDTx","MCU_ST_STM32F3:STM32F303VDTx","Package_QFP:LQFP-100_14x14mm_P0.5mm","http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00118585.pdf",""
"","","U2","ISO1050DUB","Interface_CAN_LIN:ISO1050DUB","Package_SO:SOP-8_6.62x9.15mm_P2.54mm","http://www.ti.com/lit/ds/symlink/iso1050.pdf",""
"","","U3","USBLC6-2SC6","Power_Protection:USBLC6-2SC6","Package_TO_SOT_SMD:SOT-23-6","https://www.st.com/resource/en/datasheet/usblc6-2.pdf",""
"","","U4","LM4050A(b)EX3-3.3","Reference_Voltage:LM4040DBZ-3","Package_TO_SOT_SMD:SOT-323_SC-70_Handsoldering","http://www.ti.com/lit/ds/symlink/lm4040-n.pdf",""
"","","U5","LM2576-5.0","vreg:LM2576","Package_TO_SOT_THT:TO-220-5_P3.4x3.7mm_StaggerEven_Lead3.8mm_Vertical","","Texas Instruments"
"","","U6","LM1117-3.3","Regulator_Linear:LM1117-3.3","Package_TO_SOT_SMD:SOT-223-3_TabPin2","http://www.ti.com/lit/ds/symlink/lm1117.pdf",""
"","","U7","74HC4051","stm32-rescue:74HC4051","Package_SO:SOIC-16_3.9x9.9mm_P1.27mm","",""
"","","U8","LM1117-3.3","Regulator_Linear:LM1117-3.3","Package_TO_SOT_SMD:SOT-223-3_TabPin2","http://www.ti.com/lit/ds/symlink/lm1117.pdf",""
"","","XX1","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"","","XX2","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"","","XX3","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"","","XX4","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"","","XX5","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"","","XX6","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"","","XX7","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"","","XX8","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"","","Y1","NX5032GA-8MHz","Device:Crystal","Crystal:Crystal_SMD_5032-2Pin_5.0x3.2mm","~",""
"Collated Components:"
"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","Manufacturer"
"1","2","C1, C4","6","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"2","12","C2, C3, C5, C6, C7, C8, C9, C13, C15, C18, C27, C29","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
"3","3","C10, C11, C12","1u","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
"4","1","C14","47u 35V","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C_Pad2.25x2.35mm_HandSolder","~",""
"5","2","C16, C28","47u 6V","stm32-rescue:CP","Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A_Pad1.58x1.35mm_HandSolder","",""
"6","1","C17","47u 10V","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C_Pad2.25x2.35mm_HandSolder","~",""
"7","8","C19, C20, C21, C22, C23, C24, C25, C26","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
"8","8","D1, D2, D3, D4, D5, D6, D7, D8","SP0505BAHT","Power_Protection:SP0505BAHT","Package_TO_SOT_SMD:SOT-23-6","http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf",""
"9","14","D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D23","SS14","Device:D_Schottky","Diode_SMD:D_SOD-323_HandSoldering","~",""
"10","2","D22, D27","MBRS130L","Device:D_Schottky","Diode_SMD:D_SMB_Handsoldering","~",""
"11","1","D24","PESD1CAN","elements:PESD1CAN","Package_TO_SOT_SMD:SOT-23","",""
"12","1","D25","MM3Z7V5","Device:D_Zener","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
"13","1","D26","1N5822","Device:D","Diode_THT:D_DO-201_P3.81mm_Vertical_AnodeUp","~",""
"14","4","H1, H2, H3, H4","MountingHole","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_DIN965_Pad","~",""
"15","1","J1","Prog","Connector:Conn_01x06_Female","Connector_PinSocket_1.27mm:PinSocket_1x06_P1.27mm_Vertical","~",""
"16","1","J2","Buttons/I2C","Connector_Generic:Conn_02x05_Odd_Even","Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical","~",""
"17","1","J3","Screen","Connector_Generic:Conn_02x05_Odd_Even","Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical","~",""
"18","1","J4","ADC2","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
"19","1","J5","ADC1","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
"20","1","J6","MOT_MUL","Connector:Conn_01x05_Male","Connector_JST:JST_PH_B5B-PH-K_1x05_P2.00mm_Vertical","~",""
"21","1","J7","GPIO","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
"22","1","J8","USB_B","Connector:USB_B","Connector_USB:USB_B_OST_USB-B1HSxx_Horizontal"," ~",""
"23","1","J9","Screw_Terminal_01x03","Connector:Screw_Terminal_01x03","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal","~",""
"24","1","J10","Screw_Terminal_01x02","Connector:Screw_Terminal_01x02","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal","~",""
"25","8","J11, J14, J16, J18, J20, J22, J24, J26","LimS","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"26","8","J12, J15, J17, J19, J21, J23, J25, J27","Stepper","Connector:Conn_01x04_Male","Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical","~",""
"27","1","J13","UART","Connector:Conn_01x03_Male","Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical","~",""
"28","1","JP1","CAN","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"29","1","JP2","USB5V","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"30","1","JP3","MCU","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"31","1","JP4","3V3ADC","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"32","1","JP5","3V3","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"33","1","JP6","Vdrive","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"34","1","JP7","Vio","Jumper:SolderJumper_2_Bridged","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"35","40","JP8, JP9, JP10, JP11, JP12, JP16, JP17, JP18, JP19, JP20, JP24, JP25, JP26, JP27, JP28, JP32, JP33, JP34, JP35, JP36, JP40, JP41, JP42, JP43, JP44, JP48, JP49, JP50, JP51, JP52, JP56, JP57, JP58, JP59, JP60, JP64, JP65, JP66, JP67, JP68","SolderJumper_3_Open","Jumper:SolderJumper_3_Open","Jumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm","~",""
"36","24","JP13, JP14, JP15, JP21, JP22, JP23, JP29, JP30, JP31, JP37, JP38, JP39, JP45, JP46, JP47, JP53, JP54, JP55, JP61, JP62, JP63, JP69, JP70, JP71","SolderJumper_2_Bridged","Jumper:SolderJumper_2_Open","Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm","~",""
"37","1","L1","100u","Device:L","Inductor_THT:L_Toroid_Horizontal_D6.5mm_P10.00mm_Diameter7-5mm_Amidon-T25","~",""
"38","1","Q1","B0505S","elements:B0505S","stepper:B0x0xS","",""
"39","1","Q2","IRF9310","elements:IRF9310","Package_SO:SO-8_3.9x4.9mm_P1.27mm","~",""
"40","1","Q3","AO3401","Device:Q_PMOS_GSD","Package_TO_SOT_SMD:SOT-23_Handsoldering","~",""
"41","3","R1, R11, R35","10k","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"42","6","R2, R9, R16, R17, R24, R25","22","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"43","3","R3, R4, R34","7.5","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"44","1","R5","5.1","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"45","6","R6, R7, R8, R14, R15, R36","330","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"46","1","R10","91k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"47","2","R12, R13","47k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"48","1","R18","120","stm32-rescue:R","Resistor_SMD:R_1210_3225Metric_Pad1.30x2.65mm_HandSolder","",""
"49","2","R19, R20","4k7","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"50","10","R21, R22, R23, R26, R27, R28, R29, R30, R31, R32","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
"51","1","R33","1k5","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
"52","15","RN1, RN2, RN3, RN4, RN5, RN6, RN7, RN8, RN9, RN10, RN11, RN12, RN13, RN14, RN15","330","Device:R_Pack04","Resistor_SMD:R_Array_Convex_4x0603","~",""
"53","1","SW1","Reset","Switch:SW_Push","Button_Switch_SMD:SW_SPST_FSMSM","~",""
"54","1","SW2","Boot","Switch:SW_Push","Button_Switch_SMD:SW_SPST_FSMSM","~",""
"55","1","SW3","SW_DIP_x01","Switch:SW_DIP_x01","Button_Switch_THT:SW_DIP_SPSTx01_Slide_6.7x4.1mm_W7.62mm_P2.54mm_LowProfile","~",""
"56","1","TP1","5Vusb","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"57","1","TP2","Vin","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"58","1","TP3","Gnd","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"59","1","TP4","5Vext","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"60","1","TP5","3.3V","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"61","1","TP6","3V3ADC","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"62","1","TP7","5V","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"63","1","TP8","Vio","Connector:TestPoint","TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm","~",""
"64","1","U1","STM32F303VDTx","MCU_ST_STM32F3:STM32F303VDTx","Package_QFP:LQFP-100_14x14mm_P0.5mm","http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00118585.pdf",""
"65","1","U2","ISO1050DUB","Interface_CAN_LIN:ISO1050DUB","Package_SO:SOP-8_6.62x9.15mm_P2.54mm","http://www.ti.com/lit/ds/symlink/iso1050.pdf",""
"66","1","U3","USBLC6-2SC6","Power_Protection:USBLC6-2SC6","Package_TO_SOT_SMD:SOT-23-6","https://www.st.com/resource/en/datasheet/usblc6-2.pdf",""
"67","1","U4","LM4050A(b)EX3-3.3","Reference_Voltage:LM4040DBZ-3","Package_TO_SOT_SMD:SOT-323_SC-70_Handsoldering","http://www.ti.com/lit/ds/symlink/lm4040-n.pdf",""
"68","1","U5","LM2576-5.0","vreg:LM2576","Package_TO_SOT_THT:TO-220-5_P3.4x3.7mm_StaggerEven_Lead3.8mm_Vertical","","Texas Instruments"
"69","2","U6, U8","LM1117-3.3","Regulator_Linear:LM1117-3.3","Package_TO_SOT_SMD:SOT-223-3_TabPin2","http://www.ti.com/lit/ds/symlink/lm1117.pdf",""
"70","1","U7","74HC4051","stm32-rescue:74HC4051","Package_SO:SOIC-16_3.9x9.9mm_P1.27mm","",""
"71","8","XX1, XX2, XX3, XX4, XX5, XX6, XX7, XX8","stepper_module","stepper_module:stepper_module","stepper:stepper_module","",""
"72","1","Y1","NX5032GA-8MHz","Device:Crystal","Crystal:Crystal_SMD_5032-2Pin_5.0x3.2mm","~",""
Can't render this file because it has a wrong number of fields in line 7.

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"board": {
"active_layer": 2,
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_nets": [],

View File

@ -85,8 +85,8 @@
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"silk_over_copper": "ignore",
"silk_overlap": "ignore",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",

View File

@ -2458,6 +2458,15 @@
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/0cf72bad-6be3-4508-9189-05df7a1bf410"
(reference "#PWR062") (unit 1) (value "+3V3") (footprint "")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/7fe68159-d1bb-4ac3-bcbf-a26c08565a5b"
(reference "#PWR063") (unit 1) (value "+5V") (footprint "")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/3c7fc671-bcd2-4995-b45a-f4c0c21d27bd"
(reference "#PWR064") (unit 1) (value "GND") (footprint "")
)
(path "/beac4271-940a-4bcd-9fa5-ece775a07d41/13cf6375-898d-4635-8ef8-cb8b9e301a19"
(reference "#PWR065") (unit 1) (value "+3.3VADC") (footprint "")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/c9d2b617-3560-41ef-a3a7-a6d08311dfc5"
(reference "#PWR0101") (unit 1) (value "GND") (footprint "")
)
@ -2524,9 +2533,6 @@
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/ccb9fe79-5084-46ff-9bd5-5c173914fd5a"
(reference "#PWR0124") (unit 1) (value "GND") (footprint "")
)
(path "/beac4271-940a-4bcd-9fa5-ece775a07d41/13cf6375-898d-4635-8ef8-cb8b9e301a19"
(reference "#PWR?") (unit 1) (value "+3.3VADC") (footprint "")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/b728d2bc-216a-439f-be0d-9040aecbd583"
(reference "C1") (unit 1) (value "6") (footprint "Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder")
)
@ -3010,8 +3016,8 @@
(path "/916f71ef-9b2f-424f-a64d-0b6af99b627f/0445b6a2-e52c-4c18-ae7c-d82d9e54417b"
(reference "Q2") (unit 1) (value "IRF9310") (footprint "Package_SO:SO-8_3.9x4.9mm_P1.27mm")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/bfbf88df-b3a6-4add-b186-1969d32b6ac1"
(reference "Q3") (unit 1) (value "DTA114Y") (footprint "Package_TO_SOT_SMD:SOT-323_SC-70_Handsoldering")
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/4aaed31f-871b-477f-80f7-78eb56ece162"
(reference "Q3") (unit 1) (value "AO3401") (footprint "Package_TO_SOT_SMD:SOT-23_Handsoldering")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/d5a51180-2476-4d7a-9ddb-ac12fd28a395"
(reference "R1") (unit 1) (value "10k") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
@ -3020,7 +3026,7 @@
(reference "R2") (unit 1) (value "22") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/41ba9fe3-fda3-4c5a-b5ed-45ddc9637d82"
(reference "R3") (unit 1) (value "22") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
(reference "R3") (unit 1) (value "7.5") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/28263919-0a6d-4435-9164-6012adfd9ef0"
(reference "R4") (unit 1) (value "7.5") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
@ -3112,6 +3118,15 @@
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/5a0fe310-84a9-4940-b321-708bd8fce0ae"
(reference "R33") (unit 1) (value "1k5") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/e6c5f93a-f087-442b-a5b7-aa75431da7f7"
(reference "R34") (unit 1) (value "7.5") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/906d6d88-74f6-46a5-9e3d-c80a83d789f2"
(reference "R35") (unit 1) (value "10k") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/9be66433-ec9c-4b28-8df4-3bb35a6d51dd"
(reference "R36") (unit 1) (value "330") (footprint "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder")
)
(path "/076c38b6-e164-46bb-9d96-26f8bdfeca37/c2620a21-1c3d-4233-bbce-d374c7c78b67"
(reference "RN1") (unit 1) (value "330") (footprint "Resistor_SMD:R_Array_Convex_4x0603")
)

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<export version="E">
<design>
<source>/home/eddy/Yandex.Disk/Projects/stm32samples/F3:F303/Multistepper/kicad/multistepper.kicad_sch</source>
<date>Пт 13 янв 2023 10:49:55</date>
<source>/Big/Data/00__Electronics/STM32/F303-nolib/Multistepper/kicad/multistepper.kicad_sch</source>
<date>Пн 06 фев 2023 19:51:26</date>
<tool>Eeschema 6.0.10</tool>
<sheet number="1" name="/" tstamps="/">
<title_block>
@ -774,13 +774,13 @@
<tstamps>f76210b5-67e6-490d-8965-5af4553121d1</tstamps>
</comp>
<comp ref="Q3">
<value>DTA114Y</value>
<footprint>Package_TO_SOT_SMD:SOT-323_SC-70_Handsoldering</footprint>
<libsource lib="Transistor_BJT" part="DTA114Y" description="Digital PNP Transistor, 10k/47k, SOT-23"/>
<value>AO3401</value>
<footprint>Package_TO_SOT_SMD:SOT-23_Handsoldering</footprint>
<libsource lib="Device" part="Q_PMOS_GSD" description="P-MOSFET transistor, gate/source/drain"/>
<property name="Sheetname" value="MCU base"/>
<property name="Sheetfile" value="mcubase.kicad_sch"/>
<sheetpath names="/MCU base/" tstamps="/076c38b6-e164-46bb-9d96-26f8bdfeca37/"/>
<tstamps>bfbf88df-b3a6-4add-b186-1969d32b6ac1</tstamps>
<tstamps>4aaed31f-871b-477f-80f7-78eb56ece162</tstamps>
</comp>
<comp ref="R1">
<value>10k</value>
@ -801,7 +801,7 @@
<tstamps>0a91a0cf-5d2c-49b6-9b9f-5c9869c48aa7</tstamps>
</comp>
<comp ref="R3">
<value>22</value>
<value>7.5</value>
<footprint>Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder</footprint>
<libsource lib="Device" part="R" description="Resistor"/>
<property name="Sheetname" value="MCU base"/>
@ -899,6 +899,33 @@
<sheetpath names="/MCU base/" tstamps="/076c38b6-e164-46bb-9d96-26f8bdfeca37/"/>
<tstamps>5a0fe310-84a9-4940-b321-708bd8fce0ae</tstamps>
</comp>
<comp ref="R34">
<value>7.5</value>
<footprint>Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder</footprint>
<libsource lib="Device" part="R" description="Resistor"/>
<property name="Sheetname" value="MCU base"/>
<property name="Sheetfile" value="mcubase.kicad_sch"/>
<sheetpath names="/MCU base/" tstamps="/076c38b6-e164-46bb-9d96-26f8bdfeca37/"/>
<tstamps>e6c5f93a-f087-442b-a5b7-aa75431da7f7</tstamps>
</comp>
<comp ref="R35">
<value>10k</value>
<footprint>Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder</footprint>
<libsource lib="stm32-rescue" part="R" description=""/>
<property name="Sheetname" value="MCU base"/>
<property name="Sheetfile" value="mcubase.kicad_sch"/>
<sheetpath names="/MCU base/" tstamps="/076c38b6-e164-46bb-9d96-26f8bdfeca37/"/>
<tstamps>906d6d88-74f6-46a5-9e3d-c80a83d789f2</tstamps>
</comp>
<comp ref="R36">
<value>330</value>
<footprint>Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder</footprint>
<libsource lib="stm32-rescue" part="R" description=""/>
<property name="Sheetname" value="MCU base"/>
<property name="Sheetfile" value="mcubase.kicad_sch"/>
<sheetpath names="/MCU base/" tstamps="/076c38b6-e164-46bb-9d96-26f8bdfeca37/"/>
<tstamps>9be66433-ec9c-4b28-8df4-3bb35a6d51dd</tstamps>
</comp>
<comp ref="RN1">
<value>330</value>
<footprint>Resistor_SMD:R_Array_Convex_4x0603</footprint>
@ -2711,6 +2738,20 @@
<pin num="2" name="2" type="passive"/>
</pins>
</libpart>
<libpart lib="Device" part="Q_PMOS_GSD">
<description>P-MOSFET transistor, gate/source/drain</description>
<docs>~</docs>
<fields>
<field name="Reference">Q</field>
<field name="Value">Q_PMOS_GSD</field>
<field name="Datasheet">~</field>
</fields>
<pins>
<pin num="1" name="G" type="input"/>
<pin num="2" name="S" type="passive"/>
<pin num="3" name="D" type="passive"/>
</pins>
</libpart>
<libpart lib="Device" part="R">
<description>Resistor</description>
<docs>~</docs>
@ -3059,22 +3100,6 @@
<pin num="2" name="2" type="passive"/>
</pins>
</libpart>
<libpart lib="Transistor_BJT" part="DTA114Y">
<description>Digital PNP Transistor, 10k/47k, SOT-23</description>
<footprints>
<fp>SOT?23*</fp>
<fp>SC?59*</fp>
</footprints>
<fields>
<field name="Reference">Q</field>
<field name="Value">DTA114Y</field>
</fields>
<pins>
<pin num="1" name="B" type="input"/>
<pin num="2" name="E" type="passive"/>
<pin num="3" name="C" type="passive"/>
</pins>
</libpart>
<libpart lib="elements" part="B0505S">
<description>isolated DC-DC</description>
<footprints>
@ -3278,17 +3303,15 @@
<library logical="Switch">
<uri>/usr/share/kicad/kicad-symbols/Switch.kicad_sym</uri>
</library>
<library logical="Transistor_BJT">
<uri>/usr/share/kicad/kicad-symbols/Transistor_BJT.kicad_sym</uri>
</library>
<library logical="stepper_module">
<uri>/home/eddy/Yandex.Disk/Projects/stm32samples/F3:F303/Multistepper/kicad/stepper_module.kicad_sym</uri>
<uri>/Big/Data/00__Electronics/STM32/F303-nolib/Multistepper/kicad/stepper_module.kicad_sym</uri>
</library>
</libraries>
<nets>
<net code="1" name="+3.3VADC">
<node ref="C12" pin="1" pintype="passive"/>
<node ref="R20" pin="1" pintype="passive"/>
<node ref="R9" pin="1" pintype="passive"/>
<node ref="TP6" pin="1" pinfunction="1" pintype="passive"/>
<node ref="U1" pin="21" pinfunction="VREF+" pintype="power_in"/>
<node ref="U4" pin="1" pinfunction="K" pintype="passive"/>
@ -3297,7 +3320,7 @@
<node ref="C16" pin="1" pintype="passive"/>
<node ref="C18" pin="1" pintype="passive"/>
<node ref="JP3" pin="2" pinfunction="B" pintype="passive"/>
<node ref="Q3" pin="2" pinfunction="E" pintype="passive"/>
<node ref="Q3" pin="2" pinfunction="S" pintype="passive"/>
<node ref="R3" pin="2" pintype="passive"/>
<node ref="R4" pin="2" pintype="passive"/>
<node ref="TP5" pin="1" pinfunction="1" pintype="passive"/>
@ -3311,6 +3334,7 @@
<node ref="JP5" pin="1" pinfunction="A" pintype="passive"/>
<node ref="JP7" pin="1" pinfunction="A" pintype="passive"/>
<node ref="R12" pin="2" pintype="passive"/>
<node ref="R34" pin="2" pintype="passive"/>
<node ref="R5" pin="1" pintype="passive"/>
<node ref="TP7" pin="1" pinfunction="1" pintype="passive"/>
</net>
@ -3369,41 +3393,41 @@
<node ref="SW2" pin="1" pinfunction="1" pintype="passive"/>
<node ref="U1" pin="94" pinfunction="BOOT0" pintype="input"/>
</net>
<net code="13" name="/MCU base/BTN0">
<node ref="D1" pin="4" pinfunction="K" pintype="passive"/>
<node ref="RN3" pin="1" pinfunction="R1.1" pintype="passive"/>
<node ref="U1" pin="67" pinfunction="PA8" pintype="bidirectional"/>
</net>
<net code="14" name="/MCU base/BTN1">
<net code="13" name="/MCU base/BTN1">
<node ref="D1" pin="5" pinfunction="K" pintype="passive"/>
<node ref="RN3" pin="2" pinfunction="R2.1" pintype="passive"/>
<node ref="U1" pin="68" pinfunction="PA9" pintype="bidirectional"/>
</net>
<net code="15" name="/MCU base/BTN2_SDA">
<net code="14" name="/MCU base/BTN2_SDA">
<node ref="D1" pin="6" pinfunction="K" pintype="passive"/>
<node ref="RN3" pin="3" pinfunction="R3.1" pintype="passive"/>
<node ref="U1" pin="69" pinfunction="PA10" pintype="bidirectional"/>
</net>
<net code="16" name="/MCU base/BTN3_SCL">
<net code="15" name="/MCU base/BTN3_SCL">
<node ref="D1" pin="1" pinfunction="K" pintype="passive"/>
<node ref="RN3" pin="4" pinfunction="R4.1" pintype="passive"/>
<node ref="U1" pin="73" pinfunction="PF6" pintype="bidirectional"/>
</net>
<net code="17" name="/MCU base/BTN4">
<net code="16" name="/MCU base/BTN4">
<node ref="D2" pin="5" pinfunction="K" pintype="passive"/>
<node ref="RN1" pin="6" pinfunction="R3.2" pintype="passive"/>
<node ref="U1" pin="84" pinfunction="PD3" pintype="bidirectional"/>
</net>
<net code="18" name="/MCU base/BTN5">
<net code="17" name="/MCU base/BTN5">
<node ref="D2" pin="6" pinfunction="K" pintype="passive"/>
<node ref="RN1" pin="7" pinfunction="R2.2" pintype="passive"/>
<node ref="U1" pin="85" pinfunction="PD4" pintype="bidirectional"/>
</net>
<net code="19" name="/MCU base/BTN6">
<net code="18" name="/MCU base/BTN6">
<node ref="D3" pin="4" pinfunction="K" pintype="passive"/>
<node ref="RN1" pin="8" pinfunction="R1.2" pintype="passive"/>
<node ref="U1" pin="86" pinfunction="PD5" pintype="bidirectional"/>
</net>
<net code="19" name="/MCU base/DPPU">
<node ref="R35" pin="1" pintype="passive"/>
<node ref="R36" pin="1" pintype="passive"/>
<node ref="U1" pin="67" pinfunction="PA8" pintype="bidirectional"/>
</net>
<net code="20" name="/MCU base/Diagn">
<node ref="D15" pin="2" pinfunction="A" pintype="passive"/>
<node ref="D23" pin="1" pinfunction="K" pintype="passive"/>
@ -3499,7 +3523,6 @@
<net code="38" name="/MCU base/SWDIO">
<node ref="D1" pin="3" pinfunction="K" pintype="passive"/>
<node ref="J1" pin="2" pinfunction="Pin_2" pintype="passive"/>
<node ref="Q3" pin="1" pinfunction="B" pintype="input"/>
<node ref="U1" pin="72" pinfunction="PA13" pintype="bidirectional"/>
</net>
<net code="39" name="/MCU base/USART1_RX">
@ -4002,6 +4025,7 @@
<node ref="R11" pin="1" pintype="passive"/>
<node ref="R13" pin="1" pintype="passive"/>
<node ref="R19" pin="2" pintype="passive"/>
<node ref="R35" pin="2" pintype="passive"/>
<node ref="SW1" pin="2" pinfunction="2" pintype="passive"/>
<node ref="TP3" pin="1" pinfunction="1" pintype="passive"/>
<node ref="U1" pin="20" pinfunction="VSSA" pintype="power_in"/>
@ -4235,7 +4259,6 @@
<node ref="D9" pin="1" pinfunction="K" pintype="passive"/>
<node ref="JP3" pin="1" pinfunction="A" pintype="passive"/>
<node ref="R2" pin="1" pintype="passive"/>
<node ref="R9" pin="1" pintype="passive"/>
<node ref="SW2" pin="2" pinfunction="2" pintype="passive"/>
<node ref="U1" pin="100" pinfunction="VDD" pintype="power_in"/>
<node ref="U1" pin="22" pinfunction="VDDA" pintype="power_in"/>
@ -4317,7 +4340,7 @@
</net>
<net code="187" name="Net-(J2-Pad4)">
<node ref="J2" pin="4" pinfunction="Pin_4" pintype="passive"/>
<node ref="RN3" pin="8" pinfunction="R1.2" pintype="passive"/>
<node ref="R34" pin="1" pintype="passive"/>
</net>
<net code="188" name="Net-(J2-Pad5)">
<node ref="J2" pin="5" pinfunction="Pin_5" pintype="passive"/>
@ -4663,52 +4686,56 @@
<node ref="JP70" pin="1" pinfunction="A" pintype="passive"/>
<node ref="JP71" pin="1" pinfunction="A" pintype="passive"/>
</net>
<net code="271" name="Net-(Q3-Pad3)">
<node ref="Q3" pin="3" pinfunction="C" pintype="passive"/>
<net code="271" name="Net-(Q3-Pad1)">
<node ref="Q3" pin="1" pinfunction="G" pintype="input"/>
<node ref="R36" pin="2" pintype="passive"/>
</net>
<net code="272" name="Net-(Q3-Pad3)">
<node ref="Q3" pin="3" pinfunction="D" pintype="passive"/>
<node ref="R33" pin="1" pintype="passive"/>
</net>
<net code="272" name="Net-(R16-Pad2)">
<net code="273" name="Net-(R16-Pad2)">
<node ref="R16" pin="2" pintype="passive"/>
<node ref="U3" pin="3" pinfunction="I/O2" pintype="passive"/>
</net>
<net code="273" name="Net-(R17-Pad2)">
<net code="274" name="Net-(R17-Pad2)">
<node ref="R17" pin="2" pintype="passive"/>
<node ref="U3" pin="1" pinfunction="I/O1" pintype="passive"/>
</net>
<net code="274" name="Net-(R18-Pad1)">
<net code="275" name="Net-(R18-Pad1)">
<node ref="R18" pin="1" pintype="passive"/>
<node ref="SW3" pin="1" pintype="passive"/>
</net>
<net code="275" name="TMC_MISO">
<net code="276" name="TMC_MISO">
<node ref="RN7" pin="7" pinfunction="R2.2" pintype="passive"/>
<node ref="U1" pin="31" pinfunction="PA6" pintype="bidirectional"/>
</net>
<net code="276" name="TMC_MOSI">
<net code="277" name="TMC_MOSI">
<node ref="RN7" pin="6" pinfunction="R3.2" pintype="passive"/>
<node ref="U1" pin="32" pinfunction="PA7" pintype="bidirectional"/>
</net>
<net code="277" name="TMC_SCK">
<net code="278" name="TMC_SCK">
<node ref="RN7" pin="8" pinfunction="R1.2" pintype="passive"/>
<node ref="U1" pin="30" pinfunction="PA5" pintype="bidirectional"/>
</net>
<net code="278" name="USART2_TX">
<net code="279" name="USART2_TX">
<node ref="R22" pin="1" pintype="passive"/>
<node ref="U1" pin="89" pinfunction="PB3" pintype="bidirectional"/>
</net>
<net code="279" name="USART3_TX">
<net code="280" name="USART3_TX">
<node ref="R21" pin="1" pintype="passive"/>
<node ref="U1" pin="47" pinfunction="PB10" pintype="bidirectional"/>
</net>
<net code="280" name="USB_DM">
<net code="281" name="USB_DM">
<node ref="U1" pin="70" pinfunction="PA11" pintype="bidirectional"/>
<node ref="U3" pin="4" pinfunction="I/O2" pintype="passive"/>
</net>
<net code="281" name="USB_DP">
<net code="282" name="USB_DP">
<node ref="R33" pin="2" pintype="passive"/>
<node ref="U1" pin="71" pinfunction="PA12" pintype="bidirectional"/>
<node ref="U3" pin="6" pinfunction="I/O1" pintype="passive"/>
</net>
<net code="282" name="Vdrive">
<net code="283" name="Vdrive">
<node ref="C13" pin="1" pintype="passive"/>
<node ref="C14" pin="1" pintype="passive"/>
<node ref="D25" pin="1" pinfunction="K" pintype="passive"/>
@ -4720,7 +4747,7 @@
<node ref="TP2" pin="1" pinfunction="1" pintype="passive"/>
<node ref="U5" pin="1" pinfunction="VIN" pintype="power_in"/>
</net>
<net code="283" name="Vio">
<net code="284" name="Vio">
<node ref="C28" pin="1" pintype="passive"/>
<node ref="C29" pin="1" pintype="passive"/>
<node ref="JP10" pin="3" pinfunction="B" pintype="passive"/>
@ -4775,94 +4802,103 @@
<node ref="XX7" pin="10" pinfunction="VIO" pintype="passive"/>
<node ref="XX8" pin="10" pinfunction="VIO" pintype="passive"/>
</net>
<net code="284" name="unconnected-(RN1-Pad4)">
<net code="285" name="unconnected-(D1-Pad4)">
<node ref="D1" pin="4" pinfunction="K" pintype="passive+no_connect"/>
</net>
<net code="286" name="unconnected-(RN1-Pad4)">
<node ref="RN1" pin="4" pinfunction="R4.1" pintype="passive+no_connect"/>
</net>
<net code="285" name="unconnected-(RN1-Pad5)">
<net code="287" name="unconnected-(RN1-Pad5)">
<node ref="RN1" pin="5" pinfunction="R4.2" pintype="passive+no_connect"/>
</net>
<net code="286" name="unconnected-(RN2-Pad4)">
<net code="288" name="unconnected-(RN2-Pad4)">
<node ref="RN2" pin="4" pinfunction="R4.1" pintype="passive+no_connect"/>
</net>
<net code="287" name="unconnected-(RN2-Pad5)">
<net code="289" name="unconnected-(RN2-Pad5)">
<node ref="RN2" pin="5" pinfunction="R4.2" pintype="passive+no_connect"/>
</net>
<net code="288" name="unconnected-(RN7-Pad4)">
<net code="290" name="unconnected-(RN3-Pad1)">
<node ref="RN3" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="291" name="unconnected-(RN3-Pad8)">
<node ref="RN3" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="292" name="unconnected-(RN7-Pad4)">
<node ref="RN7" pin="4" pinfunction="R4.1" pintype="passive+no_connect"/>
</net>
<net code="289" name="unconnected-(RN7-Pad5)">
<net code="293" name="unconnected-(RN7-Pad5)">
<node ref="RN7" pin="5" pinfunction="R4.2" pintype="passive+no_connect"/>
</net>
<net code="290" name="unconnected-(RN8-Pad1)">
<net code="294" name="unconnected-(RN8-Pad1)">
<node ref="RN8" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="291" name="unconnected-(RN8-Pad8)">
<net code="295" name="unconnected-(RN8-Pad8)">
<node ref="RN8" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="292" name="unconnected-(RN9-Pad1)">
<net code="296" name="unconnected-(RN9-Pad1)">
<node ref="RN9" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="293" name="unconnected-(RN9-Pad8)">
<net code="297" name="unconnected-(RN9-Pad8)">
<node ref="RN9" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="294" name="unconnected-(RN10-Pad1)">
<net code="298" name="unconnected-(RN10-Pad1)">
<node ref="RN10" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="295" name="unconnected-(RN10-Pad8)">
<net code="299" name="unconnected-(RN10-Pad8)">
<node ref="RN10" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="296" name="unconnected-(RN11-Pad1)">
<net code="300" name="unconnected-(RN11-Pad1)">
<node ref="RN11" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="297" name="unconnected-(RN11-Pad8)">
<net code="301" name="unconnected-(RN11-Pad8)">
<node ref="RN11" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="298" name="unconnected-(RN12-Pad1)">
<net code="302" name="unconnected-(RN12-Pad1)">
<node ref="RN12" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="299" name="unconnected-(RN12-Pad8)">
<net code="303" name="unconnected-(RN12-Pad8)">
<node ref="RN12" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="300" name="unconnected-(RN13-Pad1)">
<net code="304" name="unconnected-(RN13-Pad1)">
<node ref="RN13" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="301" name="unconnected-(RN13-Pad8)">
<net code="305" name="unconnected-(RN13-Pad8)">
<node ref="RN13" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="302" name="unconnected-(RN14-Pad1)">
<net code="306" name="unconnected-(RN14-Pad1)">
<node ref="RN14" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="303" name="unconnected-(RN14-Pad8)">
<net code="307" name="unconnected-(RN14-Pad8)">
<node ref="RN14" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="304" name="unconnected-(RN15-Pad1)">
<net code="308" name="unconnected-(RN15-Pad1)">
<node ref="RN15" pin="1" pinfunction="R1.1" pintype="passive+no_connect"/>
</net>
<net code="305" name="unconnected-(RN15-Pad8)">
<net code="309" name="unconnected-(RN15-Pad8)">
<node ref="RN15" pin="8" pinfunction="R1.2" pintype="passive+no_connect"/>
</net>
<net code="306" name="unconnected-(XX1-Pad18)">
<net code="310" name="unconnected-(XX1-Pad18)">
<node ref="XX1" pin="18" pinfunction="INDEX" pintype="passive+no_connect"/>
</net>
<net code="307" name="unconnected-(XX2-Pad18)">
<net code="311" name="unconnected-(XX2-Pad18)">
<node ref="XX2" pin="18" pinfunction="INDEX" pintype="passive+no_connect"/>
</net>
<net code="308" name="unconnected-(XX3-Pad18)">
<net code="312" name="unconnected-(XX3-Pad18)">
<node ref="XX3" pin="18" pinfunction="INDEX" pintype="passive+no_connect"/>
</net>
<net code="309" name="unconnected-(XX4-Pad18)">
<net code="313" name="unconnected-(XX4-Pad18)">
<node ref="XX4" pin="18" pinfunction="INDEX" pintype="passive+no_connect"/>
</net>
<net code="310" name="unconnected-(XX5-Pad18)">
<net code="314" name="unconnected-(XX5-Pad18)">
<node ref="XX5" pin="18" pinfunction="INDEX" pintype="passive+no_connect"/>
</net>
<net code="311" name="unconnected-(XX6-Pad18)">
<net code="315" name="unconnected-(XX6-Pad18)">
<node ref="XX6" pin="18" pinfunction="INDEX" pintype="passive+no_connect"/>
</net>
<net code="312" name="unconnected-(XX7-Pad18)">
<net code="316" name="unconnected-(XX7-Pad18)">
<node ref="XX7" pin="18" pinfunction="INDEX" pintype="passive+no_connect"/>
</net>
<net code="313" name="unconnected-(XX8-Pad18)">
<net code="317" name="unconnected-(XX8-Pad18)">
<node ref="XX8" pin="18" pinfunction="INDEX" pintype="passive+no_connect"/>
</net>
</nets>

View File

@ -76,6 +76,9 @@ int main(void){
}
int l = USB_receivestr(inbuff, MAXSTRLEN);
if(l < 0) USB_sendstr("ERROR: USB buffer overflow or string was too long\n");
else if(l) cmd_parser(inbuff);
else if(l){
const char *ans = cmd_parser(inbuff);
if(ans) USB_sendstr(ans);
}
}
}

View File

@ -2,6 +2,10 @@ can.c
can.h
hardware.c
hardware.h
hashgen/hashgen.c
hashgen/hdr.c
hashgen/hdr.h
hashgen/test.c
main.c
proto.c
proto.h

View File

@ -4,3 +4,4 @@
../inc/cm
../inc/ld
../inc/startup
hashgen

View File

@ -21,6 +21,7 @@
#include "can.h"
#include "hardware.h"
#include "hdr.h"
#include "proto.h"
#include "version.inc"
@ -72,79 +73,66 @@ static CAN_message *parseCANmsg(const char *txt){
return &canmsg;
}
// USB_sendstr command, format: ID (hex/bin/dec) data bytes (up to 8 bytes, space-delimeted)
TRUE_INLINE void USB_sendstrCANcommand(char *txt){
if(CAN->MSR & CAN_MSR_INAK){
USB_sendstr("CAN bus is off, try to restart it\n");
return;
}
CAN_message *msg = parseCANmsg(txt);
if(!msg) return;
uint32_t N = 5;
while(CAN_BUSY == can_send(msg->data, msg->length, msg->ID)){
if(--N == 0) break;
}
}
TRUE_INLINE void CANini(const char *txt){
uint32_t N;
const char *n = getnum(txt, &N);
if(txt == n){
USB_sendstr("No speed given");
return;
}
if(N < 50){
USB_sendstr("Lowest speed is 50kbps");
return;
}else if(N > 3000){
USB_sendstr("Highest speed is 3000kbps");
return;
}
CAN_reinit((uint16_t)N);
USB_sendstr("Reinit CAN bus with speed ");
printu(N); USB_sendstr("kbps");
}
TRUE_INLINE void addIGN(const char *txt){
if(IgnSz == IGN_SIZE){
USB_sendstr("Ignore buffer is full");
return;
}
txt = omit_spaces(txt);
uint32_t N;
const char *n = getnum(txt, &N);
if(txt == n){
USB_sendstr("No ID given");
return;
}
if(N > 0x7ff){
USB_sendstr("ID should be 11-bit number!");
return;
}
Ignore_IDs[IgnSz++] = (uint16_t)(N & 0x7ff);
USB_sendstr("Added ID "); printu(N);
USB_sendstr("\nIgn buffer size: "); printu(IgnSz);
}
TRUE_INLINE void print_ign_buf(){
if(IgnSz == 0){
USB_sendstr("Ignore buffer is empty");
return;
}
USB_sendstr("Ignored IDs:\n");
for(int i = 0; i < IgnSz; ++i){
printu(i);
USB_sendstr(": ");
printuhex(Ignore_IDs[i]);
USB_putbyte('\n');
}
}
// print ID/mask of CAN->sFilterRegister[x] half
static void printID(uint16_t FRn){
if(FRn & 0x1f) return; // trash
printuhex(FRn >> 5);
}
const char *helpstring =
"https://github.com/eddyem/stm32samples/tree/master/F3:F303/Multistepper build#" BUILD_NUMBER " @ " BUILD_DATE "\n"
"Format: cmd [N] - getter, cmd [N] = val - setter; N - optional index\n"
"* - command not supported yet, G - getter, S - setter\n\n"
#include "hashgen/helpcmds.in"
;
int fn_canignore(_U_ uint32_t hash, char *args){
if(!*args){
if(IgnSz == 0){
USND("Ignore buffer is empty");
return RET_GOOD;
}
USND("Ignored IDs:");
for(int i = 0; i < IgnSz; ++i){
printu(i);
USB_sendstr(": ");
printuhex(Ignore_IDs[i]);
USB_putbyte('\n');
}
return RET_GOOD;
}
if(IgnSz == IGN_SIZE){
USND("Ignore buffer is full");
return RET_GOOD;
}
int32_t N;
const char *n = getint(args, &N);
if(args == n){
USND("No ID given");
return RET_GOOD;
}
if(N < 0){
IgnSz = 0;
USND("Ignore list cleared");
return RET_GOOD;
}
if(N > 0x7ff){
USND("ID should be 11-bit number!");
return RET_GOOD;
}
Ignore_IDs[IgnSz++] = (uint16_t)(N & 0x7ff);
USB_sendstr("Added ID "); printu(N);
USB_sendstr("\nIgn buffer size: "); printu(IgnSz);
newline();
return RET_GOOD;
}
int fn_canreinit(_U_ uint32_t hash, _U_ char *args){
CAN_reinit(0);
USND("OK");
return RET_GOOD;
}
/*
Can filtering: FSCx=0 (CAN->FS1R) -> 16-bit identifiers
CAN->FMR = (sb)<<8 | FINIT - init filter in starting bank sb
@ -195,17 +183,6 @@ TRUE_INLINE void list_filters(){
}
}
TRUE_INLINE void setfloodt(const char *s){
uint32_t N;
s = omit_spaces(s);
const char *n = getnum(s, &N);
if(s == n){
USB_sendstr("t="); printu(floodT); USB_putbyte('\n');
return;
}
floodT = N;
}
/**
* @brief add_filter - add/modify filter
* @param str - string in format "bank# FIFO# mode num0 .. num3"
@ -298,28 +275,44 @@ static void add_filter(const char *str){
printu(nfilt); USB_sendstr(" parameters");
}
const char *helpstring =
"https://github.com/eddyem/stm32samples/tree/master/F3:F303/CANusb build#" BUILD_NUMBER " @ " BUILD_DATE "\n"
"'a' - add ID to ignore list (max 10 IDs)\n"
"'b' - reinit CAN with given baudrate\n"
"'c' - get CAN status\n"
"'d' - delete ignore list\n"
"'e' - get CAN errcodes\n"
"'f' - add/delete filter, format: bank# FIFO# mode(M/I) num0 [num1 [num2 [num3]]]\n"
"'F' - send/clear flood message: F ID byte0 ... byteN\n"
"'i' - send incremental flood message (ID == ID for `F`)\n"
"'I' - reinit CAN\n"
"'l' - list all active filters\n"
"'p' - print ignore buffer\n"
"'P' - pause/resume in packets displaying\n"
"'R' - software reset\n"
"'s/S' - send data over CAN: s ID byte0 .. byteN\n"
"'t' - change flood period (>=0ms)\n"
"'T' - get time from start (ms)\n"
;
int fn_canfilter(_U_ uint32_t hash, char *args){
if(*args) add_filter(args);
else list_filters();
return RET_GOOD;
}
int fn_canflood(_U_ uint32_t hash, char *args){
set_flood(parseCANmsg(args), 0);
return RET_GOOD;
}
TRUE_INLINE void getcanstat(){
int fn_cansend(_U_ uint32_t hash, char *args){
if(CAN->MSR & CAN_MSR_INAK){
USB_sendstr("CAN bus is off, try to restart it\n");
return RET_GOOD;
}
CAN_message *msg = parseCANmsg(args);
if(!msg) return RET_WRONGCMD;
uint32_t N = 5;
while(CAN_BUSY == can_send(msg->data, msg->length, msg->ID)){
if(--N == 0) break;
}
if(N == 0) return RET_BAD;
return RET_GOOD;
}
int fn_canfloodt(_U_ uint32_t hash, char *args){
uint32_t N;
const char *n = getnum(args, &N);
if(args == n){
USB_sendstr("floodT="); printu(floodT); USB_putbyte('\n');
return RET_GOOD;
}
floodT = N;
return RET_GOOD;
}
int fn_canstat(_U_ uint32_t hash, _U_ char *args){
USB_sendstr("CAN_MSR=");
printuhex(CAN->MSR);
USB_sendstr("\nCAN_TSR=");
@ -328,91 +321,80 @@ TRUE_INLINE void getcanstat(){
printuhex(CAN->RF0R);
USB_sendstr("\nCAN_RF1R=");
printuhex(CAN->RF1R);
newline();
return RET_GOOD;
}
int fn_canerrcodes(_U_ uint32_t hash, _U_ char *args){
printCANerr();
return RET_GOOD;
}
int fn_canincrflood(_U_ uint32_t hash, _U_ char *args){
set_flood(NULL, 1);
USB_sendstr("Incremental flooding is ON ('F' to off)\n");
return RET_GOOD;
}
int fn_canspeed(_U_ uint32_t hash, _U_ char *args){
uint32_t N;
const char *n = getnum(args, &N);
if(args == n){
USB_sendstr("No speed given");
return RET_GOOD;
}
if(N < 50){
USB_sendstr("Lowest speed is 50kbps");
return RET_GOOD;
}else if(N > 3000){
USB_sendstr("Highest speed is 3000kbps");
return RET_GOOD;
}
CAN_reinit((uint16_t)N);
// theconf.canspeed = N;
USB_sendstr("Reinit CAN bus with speed ");
printu(N); USB_sendstr("kbps"); newline();
return RET_GOOD;
}
int fn_canpause(_U_ uint32_t hash, _U_ char *args){
ShowMsgs = TRUE;
USND("Pause CAN messages");
return RET_GOOD;
}
int fn_canresume(_U_ uint32_t hash, _U_ char *args){
ShowMsgs = FALSE;
USND("RESUME CAN messages");
return RET_GOOD;
}
int fn_reset(_U_ uint32_t hash, _U_ char *args){
USB_sendstr("Soft reset\n");
USB_sendall(); // wait until everything will gone
NVIC_SystemReset();
return RET_GOOD;
}
int fn_time(_U_ uint32_t hash, _U_ char *args){
USB_sendstr("Time (ms): ");
printu(Tms);
USB_putbyte('\n');
return RET_GOOD;
}
/**
* @brief cmd_parser - command parsing
* @param txt - buffer with commands & data
* @param isUSB - == 1 if data got from USB
*/
void cmd_parser(char *txt){
char _1st = txt[0];
++txt;
/*
* parse long commands here
*/
switch(_1st){
case 'a':
addIGN(txt);
goto eof;
break;
case 'b':
CANini(txt);
goto eof;
break;
case 'f':
add_filter(txt);
goto eof;
break;
case 'F':
set_flood(parseCANmsg(txt), 0);
goto eof;
break;
case 's':
case 'S':
USB_sendstrCANcommand(txt);
goto eof;
break;
case 't':
setfloodt(txt);
goto eof;
break;
const char *cmd_parser(const char *txt){
int ret = parsecmd(txt);
switch(ret){
case RET_CMDNOTFOUND: return helpstring; break;
case RET_WRONGCMD: return "Wrong command parameters\n"; break;
case RET_GOOD: return NULL; break;
default: return "FAIL\n"; break;
}
if(*txt) _1st = '?'; // help for wrong message length
switch(_1st){
case 'c':
getcanstat();
break;
case 'd':
IgnSz = 0;
break;
case 'e':
printCANerr();
break;
case 'i':
set_flood(NULL, 1);
USB_sendstr("Incremental flooding is ON ('F' to off)\n");
break;
case 'I':
CAN_reinit(0);
break;
case 'l':
list_filters();
break;
case 'p':
print_ign_buf();
break;
case 'P':
ShowMsgs = !ShowMsgs;
if(ShowMsgs) USB_sendstr("Resume\n");
else USB_sendstr("Pause\n");
break;
case 'R':
USB_sendstr("Soft reset\n");
USB_sendall(); // wait until everything will gone
NVIC_SystemReset();
break;
case 'T':
USB_sendstr("Time (ms): ");
printu(Tms);
USB_putbyte('\n');
break;
default: // help
USB_sendstr(helpstring);
break;
}
eof:
USB_putbyte('\n');
}
// check Ignore_IDs & return 1 if ID isn't in list

View File

@ -28,5 +28,5 @@
extern uint8_t ShowMsgs; // show CAN messages flag
void cmd_parser(char *txt);
const char *cmd_parser(const char *txt);
uint8_t isgood(uint16_t ID);

View File

@ -4,9 +4,9 @@
#include <string.h>
void hexdump(int (*sendfun)(const char *s), uint8_t *arr, uint16_t len);
const char *u2str(uint32_t val);
const char *i2str(int32_t i);
const char *uhex2str(uint32_t val);
char *u2str(uint32_t val);
char *i2str(int32_t i);
char *uhex2str(uint32_t val);
const char *getnum(const char *txt, uint32_t *N);
const char *omit_spaces(const char *buf);
const char *getint(const char *txt, int32_t *I);

View File

@ -24,7 +24,8 @@
#define RBOUTSZ (512)
#define RBINSZ (512)
#define newline() USB_putbyte('\n')
#define newline() USB_putbyte('\n')
#define USND(s) do{USB_sendstr(s); USB_putbyte('\n');}while(0)
#ifdef EBUG
#define DBG(str) do{USB_sendstr(__FILE__ " (L" STR(__LINE__) "): " str);}while(0)

View File

@ -1,2 +1,2 @@
#define BUILD_NUMBER "5"
#define BUILD_DATE "2023-02-03"
#define BUILD_NUMBER "1"
#define BUILD_DATE "2023-02-04"

View File

@ -22,6 +22,16 @@
#ifndef __COMMON_MACROS_H__
#define __COMMON_MACROS_H__
#include <stdint.h>
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE_INLINE
#define TRUE_INLINE __attribute__((always_inline)) static inline
#endif

View File

@ -22,6 +22,16 @@
#ifndef __COMMON_MACROS_H__
#define __COMMON_MACROS_H__
#include <stdint.h>
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE_INLINE
#define TRUE_INLINE __attribute__((always_inline)) static inline
#endif

View File

@ -45,10 +45,10 @@
#define pin_toggle(gpioport, gpios) do{ \
register uint32_t __port = gpioport->ODR; \
gpioport->BSRR = ((__port & gpios) << 16) | (~__port & gpios);}while(0)
gpioport->BSRR = ((__port & (gpios)) << 16) | (~__port & (gpios));}while(0)
#define pin_set(gpioport, gpios) do{gpioport->BSRR = gpios;}while(0)
#define pin_clear(gpioport, gpios) do{gpioport->BRR = gpios;}while(0)
#define pin_clear(gpioport, gpios) do{gpioport->BSRR = ((gpios) << 16);}while(0)
#define pin_read(gpioport, gpios) (gpioport->IDR & (gpios) ? 1 : 0)
#define pin_write(gpioport, gpios) do{gpioport->ODR = gpios;}while(0)