Browse Source

ok

master
Your Name 3 years ago
parent
commit
9c6857fb03
47 changed files with 6230 additions and 0 deletions
  1. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/10_top.FCStd
  2. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/11_adjustinggap_between_left_wall_fitting_0_2mm.FCStd
  3. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/12_meshing.FCStd
  4. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/12b_meshing_toponly.FCStd
  5. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/14b_fin.FCStd
  6. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/1_oldproject.FCStd
  7. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/2_stripping.FCStd
  8. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/2_stripping.FCStd1
  9. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/3_base.FCStd
  10. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/3_base.FCStd1
  11. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/4_cutout_of_base.FCStd
  12. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/5_base_walls.FCStd
  13. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/6_proper_sizing.FCStd
  14. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/7_adjustments.FCStd
  15. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/8_wallsalmostdone.FCStd
  16. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/9_working.FCStd
  17. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/base_rev1_ulisp_meshSTL.stl
  18. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/base_rev1_ulisp_topcover_meshSTL.stl
  19. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev2_split_base/1main_section.FCStd
  20. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev2_split_base/2meshing_mainsection.FCStd
  21. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev2_split_base/2meshing_mainsection.FCStd1
  22. BIN
      UserSpaceArduinoUno_via_Ulisp/CAD/rev2_split_base/ulisp_base_main_section_rev1.stl
  23. +6
    -0
      UserSpaceArduinoUno_via_Ulisp/code/1_initial_tests/echoulisp.dat
  24. +19
    -0
      UserSpaceArduinoUno_via_Ulisp/code/1_initial_tests/echoulisp7.dat
  25. +1
    -0
      UserSpaceArduinoUno_via_Ulisp/code/2_initialization/README
  26. +7
    -0
      UserSpaceArduinoUno_via_Ulisp/code/2_initialization/initialization.inst
  27. +4410
    -0
      UserSpaceArduinoUno_via_Ulisp/code/ulisp_avr_code_3_4/ulisp_avr_code_3_4.ino
  28. +4
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/1.aux
  29. +269
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/1.log
  30. BIN
      UserSpaceArduinoUno_via_Ulisp/docs/1.pdf
  31. +38
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/1.tex
  32. +23
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/2.tex
  33. +38
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/3.tex
  34. +88
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/4.tex
  35. +98
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/5.tex
  36. +98
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/6.tex
  37. +6
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/7.aux
  38. +305
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/7.log
  39. BIN
      UserSpaceArduinoUno_via_Ulisp/docs/7.pdf
  40. +119
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/7.tex
  41. +115
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/7.tex~
  42. +6
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/8.aux
  43. +305
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/8.log
  44. BIN
      UserSpaceArduinoUno_via_Ulisp/docs/8.pdf
  45. +121
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/8.tex
  46. +119
    -0
      UserSpaceArduinoUno_via_Ulisp/docs/8.tex~
  47. +35
    -0
      UserSpaceArduinoUno_via_Ulisp/notes/functions.dat

BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/10_top.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/11_adjustinggap_between_left_wall_fitting_0_2mm.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/12_meshing.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/12b_meshing_toponly.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/14b_fin.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/1_oldproject.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/2_stripping.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/2_stripping.FCStd1 View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/3_base.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/3_base.FCStd1 View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/4_cutout_of_base.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/5_base_walls.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/6_proper_sizing.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/7_adjustments.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/8_wallsalmostdone.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/9_working.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/base_rev1_ulisp_meshSTL.stl View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev1_base/base_rev1_ulisp_topcover_meshSTL.stl View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev2_split_base/1main_section.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev2_split_base/2meshing_mainsection.FCStd View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev2_split_base/2meshing_mainsection.FCStd1 View File


BIN
UserSpaceArduinoUno_via_Ulisp/CAD/rev2_split_base/ulisp_base_main_section_rev1.stl View File


+ 6
- 0
UserSpaceArduinoUno_via_Ulisp/code/1_initial_tests/echoulisp.dat View File

@ -0,0 +1,6 @@
(defun b (&optional x)
(pinmode 13 :output)
(digitalwrite 13 x)
(delay 1000)
(b (not x)))
(b)

+ 19
- 0
UserSpaceArduinoUno_via_Ulisp/code/1_initial_tests/echoulisp7.dat View File

@ -0,0 +1,19 @@
(defun b ()
(pinmode 13 :output)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200))
(b)

+ 1
- 0
UserSpaceArduinoUno_via_Ulisp/code/2_initialization/README View File

@ -0,0 +1 @@
cat initialization.inst > /dev/ttyUSB0

+ 7
- 0
UserSpaceArduinoUno_via_Ulisp/code/2_initialization/initialization.inst View File

@ -0,0 +1,7 @@
(pinmode 4 :output)
(pinmode 5 :output)
(pinmode 6 :output)
(pinmode 7 :output)
(pinmode 8 :output)
(pinmode 9 :output)
(pinmode 10 :output)

+ 4410
- 0
UserSpaceArduinoUno_via_Ulisp/code/ulisp_avr_code_3_4/ulisp_avr_code_3_4.ino
File diff suppressed because it is too large
View File


+ 4
- 0
UserSpaceArduinoUno_via_Ulisp/docs/1.aux View File

@ -0,0 +1,4 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Attiny Solar Energy Harvest Tests}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Micro Considerations}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Energy Storage}{1}\protected@file@percent }

+ 269
- 0
UserSpaceArduinoUno_via_Ulisp/docs/1.log View File

@ -0,0 +1,269 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2021.1.4) 4 JAN 2021 22:57
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/dev/Desktop/code/Electronics_Projects_2021/UserSpaceArduinoUno_via_Ulis
p/docs/1.tex
(/home/dev/Desktop/code/Electronics_Projects_2021/UserSpaceArduinoUno_via_Ulisp
/docs/1.tex
LaTeX2e <2018-12-01>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
)
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2018/10/06 v3.3-154 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2018/09/12 v1.8c caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 64.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@caption@flags=\count88
\c@ContinuedFloat=\count89
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2018/04/16 v5.8 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count90
\Gm@cntv=\count91
\c@Gm@tempcnt=\count92
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
)
No file 1.aux.
\openout1 = `1.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count93
\scratchdimen=\dimen120
\scratchbox=\box27
\nofMPsegments=\count94
\nofMParguments=\count95
\everyMPshowfont=\toks16
\MPscratchCnt=\count96
\MPscratchDim=\dimen121
\MPnumerator=\count97
\makeMPintoPDFobject=\count98
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
))))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2018/09/10 v0.29 Utility functions of pdfTeX for LuaTeX (HO
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <12> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 14.
LaTeX Font Info: Try loading font information for OMS+cmr on input line 22.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 22.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 33.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 33.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 33.
[1
Non-PDF special ignored!
<special> papersize=433.62pt,650.43pt
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] (./1.aux) )
Here is how much of TeX's memory you used:
3522 strings out of 494561
53542 string characters out of 6177455
122298 words of memory out of 5000000
7168 multiletter control sequences out of 15000+600000
9722 words of font info for 34 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
41i,8n,38p,461b,189s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/texli
ve/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texm
f-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/
fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/share/texlive/texmf-dist/fonts/ty
pe1/public/amsfonts/cm/cmr8.pfb></usr/share/texlive/texmf-dist/fonts/type1/publ
ic/amsfonts/cm/cmr9.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfo
nts/cm/cmsy10.pfb>
Output written on 1.pdf (2 pages, 77798 bytes).
PDF statistics:
39 PDF objects out of 1000 (max. 8388607)
27 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
UserSpaceArduinoUno_via_Ulisp/docs/1.pdf View File


+ 38
- 0
UserSpaceArduinoUno_via_Ulisp/docs/1.tex View File

@ -0,0 +1,38 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{Door Alarm}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{Attiny Solar Energy Harvest Tests}}
I have the following:
\begin{itemize}
\item Solar panels
\item Attiny 10
\end{itemize}
To this list, I will add a supercap, and an energy harvesting IC. The goal being to load the super cap during the day, and to run 24/7. I will need an exceptionally low power micro. The super cap will need to be about 3.3V or 5V.
\subsection{Micro Considerations}
The Arduino Atmega328P is not an option. I'm looking to have a current draw of only 1mA max, (ideally 500uA) when active. Moteino is also not an option for this. Those are made for batteries. I want to be battery free. A super cap, however can be used to store energy. I'll get to that shortly.
For micros, I have some Attiny10 on hand, and these have a reasonably low power pull in active mode. Let's build those up first. What will the micro do? No idea. I haven't a clue.
\subsection{Energy Storage}
I don't want a battery. Let's go with a super cap. The solar panels will only be active some of the time, so I will want to harvest energy with some kind of IC into the cap when the sun is out.\footnote{Reference: www.analog.com/media/en/technical-documentation/technical-articles/solarenergyharvesting.pdf is a start. I'll need to do more research.}
\end{document}

+ 23
- 0
UserSpaceArduinoUno_via_Ulisp/docs/2.tex View File

@ -0,0 +1,23 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
\end{document}

+ 38
- 0
UserSpaceArduinoUno_via_Ulisp/docs/3.tex View File

@ -0,0 +1,38 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
Overview: Goal is to get an easy way to echo "command" > /dev/ARDUINO from GnuLinux userspace.
Then I can 3D print a box, throw some LEDs in there, and get a hardware interface for anything from my distro.
\subsection{Setup}
First off, I installed the stable uLisp from ulisp.com (AVR version 3.4).
\subsubsection{Trouble with interfacing directly to ttyACM0 / ttyUSB0}
The Arduino Uno uses an FTDI USB to Serial chip. It also has more than just RX/TX connected (I think). This means that when you echo "something" to
arduino, this command will open the serial connection, send the command, then close the command and possibly reset the board via one of the
UART reset pins (DTS perhaps). This won't work. First thing to do, get an FTDI board, and connect it to the computer, the connect
it to digital pins 0,1 (for UART). Then test sending a command. This works. This will be the final setup. Computer -> FTDI -> Arduino.
It should be possible to get it to work without the FTDI chip, but not without some debugging. Have at it, if you wish.
Ref:
\end{document}

+ 88
- 0
UserSpaceArduinoUno_via_Ulisp/docs/4.tex View File

@ -0,0 +1,88 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
Overview: Goal is to get an easy way to echo "command" > /dev/ARDUINO from GnuLinux userspace.
Then I can 3D print a box, throw some LEDs in there, and get a hardware interface for anything from my distro.
\subsection{Setup}
First off, I installed the stable uLisp from ulisp.com (AVR version 3.4).
\subsubsection{Trouble with interfacing directly to ttyACM0 / ttyUSB0}
The Arduino Uno uses an FTDI USB to Serial chip. It also has more than just RX/TX connected (I think). This means that when you echo "something" to
arduino, this command will open the serial connection, send the command, then close the command and possibly reset the board via one of the
UART reset pins (DTS perhaps). This won't work. First thing to do, get an FTDI board, and connect it to the computer, the connect
it to digital pins 0,1 (for UART). Then test sending a command. This works. This will be the final setup. Computer -> FTDI -> Arduino.
It should be possible to get it to work without the FTDI chip, but not without some debugging. Have at it, if you wish. I don't have time to troubleshoot this now.
I tried a few things (exec 3<>, and the stty) neither worked. You could also use Python, but then that's more dependencies. Bad idea. This
should be simple.
Ref:
https://forum.arduino.cc/index.php?topic=61127.0
https://arduino.stackexchange.com/questions/16776/how-to-connect-arduino-device-to-linux
https://stackoverflow.com/questions/3918032/bash-serial-i-o-and-arduino
\subsubsection{Troubleshooting Code}
The first thing you will want to do is prove that you can echo or cat "code" > /dev/ARDUINO.
This code works:
\begin{verbatim}
(defun b (&optional x)
(pinmode 13 :output)
(digitalwrite 13 x)
(delay 1000)
(b (not x)))
(b)
\end{verbatim}
Save it as a text file, then cat the file into /dev/ttyUSB0 or /dev/ARDUINO. Problem is, that code runs indefinitely. You can't tell it to do anything else. Hit the reset button to restart the Uno back to square one. So instead, you want a loop that runs and then stops. Here's one of those:
\begin{verbatim}
(defun b ()
(pinmode 13 :output)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200))
(b)
\end{verbatim}
This works. Save it as a .dat or .txt (whatever) and cat file.txt > /dev/ARDUINO. It will run a few times, then stop. You can echo it again, if you wish.
There, now we have an interface, and we have proven we can switch an IO high. With a couple of functions, it's trivial to go from there.\footnote{i.e. have one function set IO high for a given pin. Have one function set IO low. Have one function blink IO some amount of times. This can be used for counters or shift registers.}
Tip: When building code, copy and paste into the Arduino Serial Monitor first. This way, if there's an error, it will tell you what's wrong. After
you've tested the code, then you can put it in a text file. As we are keeping this simple, we don't have logging setup, or anything else. This is
meant to be for basic IO from user space, not C compiled programs. Think lightweight.
\end{document}

+ 98
- 0
UserSpaceArduinoUno_via_Ulisp/docs/5.tex View File

@ -0,0 +1,98 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
Overview: Goal is to get an easy way to echo "command" > /dev/ARDUINO from GnuLinux userspace.
Then I can 3D print a box, throw some LEDs in there, and get a hardware interface for anything from my distro.
\subsection{Setup}
First off, I installed the stable uLisp from ulisp.com (AVR version 3.4 in 2020/12).
\subsubsection{Trouble with interfacing directly to
ttyACM0 / ttyUSB0} The Arduino Uno uses an FTDI USB to Serial chip. It also has more than just RX/TX connected (I think). This means
that when you echo "something" to arduino, this command will open the serial connection, send the command, then close the command and
possibly reset the board via one of the UART reset pins (DTS perhaps). This won't work. First thing to do, get an FTDI board, and
connect it to the computer, the connect it to digital pins 0,1 (for UART). Then test sending a command. This works. This will be the
final setup. Computer -> FTDI -> Arduino.
It should be possible to get it to work without the FTDI chip, but not without some debugging. Have at it, if you wish. I don't have
time to troubleshoot this now. I tried a few things (exec 3<>, and the stty) neither worked. You could also use Python, but then that's
more dependencies. Bad idea. This should be simple.
Ref:
https://forum.arduino.cc/index.php?topic=61127.0
https://arduino.stackexchange.com/questions/16776/how-to-connect-arduino-device-to-linux
https://stackoverflow.com/questions/3918032/bash-serial-i-o-and-arduino
\subsubsection{Troubleshooting Code}
The first thing you will want to do is prove that you can echo or cat "code" > /dev/ARDUINO.
This code works:
\begin{verbatim}
(defun b (&optional x)
(pinmode 13 :output)
(digitalwrite 13 x)
(delay 1000)
(b (not x)))
(b)
\end{verbatim}
Save it as a text file, then cat the file into /dev/ttyUSB0 or /dev/ARDUINO. Problem is, the code runs
indefinitely. You can't tell it to do anything else. Hit the reset button to restart the Uno back to square one. So instead, you want a
function that runs and then stops. Here's one of those:
\begin{verbatim} (defun b ()
(pinmode 13 :output)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200))
(b)
\end{verbatim}
This works. Save it as a .dat or .txt (whatever) and cat file.txt > /dev/ARDUINO. It will blink a few times, then
stop. You can cat it again, if you wish. There, now we have an interface, and we have proven we can switch an IO high/low. With a couple
of functions, it's trivial to build an interface.\footnote{i.e. have one function set IO high for a given pin. Have one function set IO low.
Have one function blink IO some amount of times. This can be used for counters or shift registers, or in the former, just controlling GPIO.}
Tip: When building code, copy and paste into the Arduino Serial Monitor first. This way, if there's an error, it will tell you what's
wrong. After you've tested the code, then you can put it in a text file. As we are keeping this simple, we don't have logging setup, or
anything else. This is meant to be for basic IO from user space, not C compiled programs. Think lightweight. Fast. Fun.
\subsection{An interface for basic GPIO}
Now, let's build an API/interface so that we can flip some IO, and perhaps increment as mentioned.
\end{document}

+ 98
- 0
UserSpaceArduinoUno_via_Ulisp/docs/6.tex View File

@ -0,0 +1,98 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
Overview: Goal is to get an easy way to echo "command" > /dev/ARDUINO from GnuLinux userspace.
Then I can 3D print a box, throw some LEDs in there, and get a hardware interface for anything from my distro.
\subsection{Setup}
First off, I installed the stable uLisp from ulisp.com (AVR version 3.4 in 2020/12).
\subsubsection{Trouble with interfacing directly to
ttyACM0 / ttyUSB0} The Arduino Uno uses an FTDI USB to Serial chip. It also has more than just RX/TX connected (I think). This means
that when you echo "something" to arduino, this command will open the serial connection, send the command, then close the command and
possibly reset the board via one of the UART reset pins (DTS perhaps). This won't work. First thing to do, get an FTDI board, and
connect it to the computer, the connect it to digital pins 0,1 (for UART). Then test sending a command. This works. This will be the
final setup. Computer -> FTDI -> Arduino.
It should be possible to get it to work without the FTDI chip, but not without some debugging. Have at it, if you wish. I don't have
time to troubleshoot this now. I tried a few things (exec 3<>, and the stty) neither worked. You could also use Python, but then that's
more dependencies. Bad idea. This should be simple.
Ref:
https://forum.arduino.cc/index.php?topic=61127.0
https://arduino.stackexchange.com/questions/16776/how-to-connect-arduino-device-to-linux
https://stackoverflow.com/questions/3918032/bash-serial-i-o-and-arduino
\subsubsection{Troubleshooting Code}
The first thing you will want to do is prove that you can echo or cat "code" > /dev/ARDUINO.
This code works:
\begin{verbatim}
(defun b (&optional x)
(pinmode 13 :output)
(digitalwrite 13 x)
(delay 1000)
(b (not x)))
(b)
\end{verbatim}
Save it as a text file, then cat the file into /dev/ttyUSB0 or /dev/ARDUINO. Problem is, the code runs
indefinitely. You can't tell it to do anything else. Hit the reset button to restart the Uno back to square one. So instead, you want a
function that runs and then stops. Here's one of those:
\begin{verbatim} (defun b ()
(pinmode 13 :output)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200))
(b)
\end{verbatim}
This works. Save it as a .dat or .txt (whatever) and cat file.txt > /dev/ARDUINO. It will blink a few times, then
stop. You can cat it again, if you wish. There, now we have an interface, and we have proven we can switch an IO high/low. With a couple
of functions, it's trivial to build an interface.\footnote{i.e. have one function set IO high for a given pin. Have one function set IO low.
Have one function blink IO some amount of times. This can be used for counters or shift registers, or in the former, just controlling GPIO.}
Tip: When building code, copy and paste into the Arduino Serial Monitor first. This way, if there's an error, it will tell you what's
wrong. After you've tested the code, then you can put it in a text file. As we are keeping this simple, we don't have logging setup, or
anything else. This is meant to be for basic IO from user space, not C compiled programs. Think lightweight. Fast. Fun.
\subsection{An interface for basic GPIO}
Now, let's build an API/interface so that we can flip some IO, and perhaps increment as mentioned.
\end{document}

+ 6
- 0
UserSpaceArduinoUno_via_Ulisp/docs/7.aux View File

@ -0,0 +1,6 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}UserSpace IO via uLisp and Arduino Uno}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Setup}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.1}Trouble with interfacing directly to ttyACM0}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.2}Troubleshooting Code}{2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}An interface for basic GPIO}{3}\protected@file@percent }

+ 305
- 0
UserSpaceArduinoUno_via_Ulisp/docs/7.log View File

@ -0,0 +1,305 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2021.1.4) 4 JAN 2021 23:02
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/dev/Desktop/code/Electronics_Projects_2021/UserSpaceArduinoUno_via_Ulis
p/docs/7.tex
(/home/dev/Desktop/code/Electronics_Projects_2021/UserSpaceArduinoUno_via_Ulisp
/docs/7.tex
LaTeX2e <2018-12-01>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
)
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2018/10/06 v3.3-154 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2018/09/12 v1.8c caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 64.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@caption@flags=\count88
\c@ContinuedFloat=\count89
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2018/04/16 v5.8 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count90
\Gm@cntv=\count91
\c@Gm@tempcnt=\count92
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
) (./7.aux)
\openout1 = `7.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count93
\scratchdimen=\dimen120
\scratchbox=\box27
\nofMPsegments=\count94
\nofMParguments=\count95
\everyMPshowfont=\toks16
\MPscratchCnt=\count96
\MPscratchDim=\dimen121
\MPnumerator=\count97
\makeMPintoPDFobject=\count98
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
))))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2018/09/10 v0.29 Utility functions of pdfTeX for LuaTeX (HO
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <12> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 14.
LaTeX Font Info: Try loading font information for OML+cmr on input line 19.
(/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
File: omlcmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OML/cmr/m/n' in size <10.95> not available
(Font) Font shape `OML/cmm/m/it' tried instead on input line 19.
Underfull \hbox (badness 10000) in paragraph at lines 23--25
[]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 28.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 28.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 28.
[1
Non-PDF special ignored!
<special> papersize=433.62pt,650.43pt
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
Overfull \hbox (24.20909pt too wide) in paragraph at lines 46--47
[]\OT1/cmr/m/n/10.95 https://arduino.stackexchange.com/questions/16776/how-to-c
onnect-
[]
Overfull \hbox (6.41527pt too wide) in paragraph at lines 48--49
[]\OT1/cmr/m/n/10.95 https://stackoverflow.com/questions/3918032/bash-serial-i-
o-and-
[]
[2]
Overfull \hbox (197.91559pt too wide) in paragraph at lines 113--113
[] \OT1/cmtt/m/n/10.95 answer: I want to be able to flash leds from user space.
possibly increment a counter, but[]
[]
[3]
Overfull \hbox (186.41821pt too wide) in paragraph at lines 113--113
[] \OT1/cmtt/m/n/10.95 solution: build box / board for uno. connect everything
up. build initialization program[]
[]
Overfull \hbox (25.45496pt too wide) in paragraph at lines 113--113
[] \OT1/cmtt/m/n/10.95 Then find a way to send commands from gnulinux. let's be
gin.[]
[]
[4] (./7.aux) )
Here is how much of TeX's memory you used:
3528 strings out of 494561
53599 string characters out of 6177455
122326 words of memory out of 5000000
7170 multiletter control sequences out of 15000+600000
10198 words of font info for 36 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
41i,8n,38p,352b,253s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cm
bx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.p
fb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></u
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/shar
e/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texli
ve/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/share/texlive/texmf
-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/texlive/texmf-dist/fo
nts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texlive/texmf-dist/fonts/type
1/public/amsfonts/cm/cmtt10.pfb>
Output written on 7.pdf (4 pages, 115790 bytes).
PDF statistics:
53 PDF objects out of 1000 (max. 8388607)
37 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
UserSpaceArduinoUno_via_Ulisp/docs/7.pdf View File


+ 119
- 0
UserSpaceArduinoUno_via_Ulisp/docs/7.tex View File

@ -0,0 +1,119 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
Overview: Goal is to get an easy way to echo "command" \textgreater
/dev/ARDUINO from GnuLinux userspace.
Then I can 3D print a box, throw some LEDs in there, and get a hardware interface for anything from my distro.
\\
\subsection{Setup}
First off, I installed the stable uLisp from ulisp.com (AVR version 3.4 in 2020/12). \footnote{It's a sketch. It installs from Arduino IDE (must be reasonably recent, so 1.8 from Arduino.com works, but not Beowulf/Buster's 1.0 Arduino).}
\subsubsection{Trouble with interfacing directly to
ttyACM0} The Arduino Uno uses an FTDI USB to Serial chip. It also has more than just RX/TX connected (I think). This means
that when you echo "something" to arduino, this command will open the serial connection, send the command, then close the command and
possibly reset the board via one of the UART reset pins (DTS perhaps). This won't work. First thing to do, get an FTDI board, and
connect it to the computer, the connect it to digital pins 0,1 (for UART). Then test sending a command. This works. This will be the
final setup. Computer -\textgreater FTDI -\textgreater Arduino.
It should be possible to get it to work without the FTDI chip, but not without some debugging. Have at it, if you wish. I don't have
time to troubleshoot this now. I tried a few things (exec 3\textless \textgreater, and the stty) neither worked. You could also use Python, but then that's
more dependencies. Bad idea. This should be simple.
Ref:
https://forum.arduino.cc/index.php?topic=61127.0
https://arduino.stackexchange.com/questions/16776/how-to-connect-arduino-device-to-linux
https://stackoverflow.com/questions/3918032/bash-serial-i-o-and-arduino
\subsubsection{Troubleshooting Code}
The first thing you will want to do is prove that you can echo or cat "code" \textgreater /dev/ARDUINO.
This code works:
\begin{verbatim}
(defun b (&optional x)
(pinmode 13 :output)
(digitalwrite 13 x)
(delay 1000)
(b (not x)))
(b)
\end{verbatim}
Save it as a text file, then cat the file into /dev/ttyUSB0 or /dev/ARDUINO. Problem is, the code runs
indefinitely. You can't tell it to do anything else. Hit the reset button to restart the Uno back to square one. So instead, you want a
function that runs and then stops. Here's one of those:
\begin{verbatim} (defun b ()
(pinmode 13 :output)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200))
(b)
\end{verbatim}
This works. Save it as a .dat or .txt (whatever) and cat file.txt \textgreater /dev/ARDUINO. It will blink a few times, then
stop. You can cat it again, if you wish. There, now we have an interface, and we have proven we can switch an IO high/low. With a couple
of functions, it's trivial to build an interface.\footnote{i.e. have one function set IO high for a given pin. Have one function set IO low.
Have one function blink IO some amount of times. This can be used for counters or shift registers, or in the former, just controlling GPIO.}
Tip: When building code, copy and paste into the Arduino Serial Monitor first. This way, if there's an error, it will tell you what's
wrong. After you've tested the code, then you can put it in a text file. As we are keeping this simple, we don't have logging setup, or
anything else. This is meant to be for basic IO from user space, not C compiled programs. Think lightweight. Fast. Fun.
\subsection{An interface for basic GPIO}
Now, let's build an API/interface so that we can flip some IO, and perhaps increment as mentioned.
\begin{verbatim}
let's ask this: what do I want to accomplish?
answer: I want to be able to flash leds from user space. possibly increment a counter, but
that's later. for now, just flash leds.
solution: build box / board for uno. connect everything up. build initialization program
(that will enable outputs as high)
Then find a way to send commands from gnulinux. let's begin.
1. build initialization program
2. create enclosure, and wire up leds
3. run program live from gnuLinux.
\end{verbatim}
\end{document}

+ 115
- 0
UserSpaceArduinoUno_via_Ulisp/docs/7.tex~ View File

@ -0,0 +1,115 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
Overview: Goal is to get an easy way to echo "command" > /dev/ARDUINO from GnuLinux userspace.
Then I can 3D print a box, throw some LEDs in there, and get a hardware interface for anything from my distro.
\subsection{Setup}
First off, I installed the stable uLisp from ulisp.com (AVR version 3.4 in 2020/12).
\subsubsection{Trouble with interfacing directly to
ttyACM0 / ttyUSB0} The Arduino Uno uses an FTDI USB to Serial chip. It also has more than just RX/TX connected (I think). This means
that when you echo "something" to arduino, this command will open the serial connection, send the command, then close the command and
possibly reset the board via one of the UART reset pins (DTS perhaps). This won't work. First thing to do, get an FTDI board, and
connect it to the computer, the connect it to digital pins 0,1 (for UART). Then test sending a command. This works. This will be the
final setup. Computer -> FTDI -> Arduino.
It should be possible to get it to work without the FTDI chip, but not without some debugging. Have at it, if you wish. I don't have
time to troubleshoot this now. I tried a few things (exec 3<>, and the stty) neither worked. You could also use Python, but then that's
more dependencies. Bad idea. This should be simple.
Ref:
https://forum.arduino.cc/index.php?topic=61127.0
https://arduino.stackexchange.com/questions/16776/how-to-connect-arduino-device-to-linux
https://stackoverflow.com/questions/3918032/bash-serial-i-o-and-arduino
\subsubsection{Troubleshooting Code}
The first thing you will want to do is prove that you can echo or cat "code" > /dev/ARDUINO.
This code works:
\begin{verbatim}
(defun b (&optional x)
(pinmode 13 :output)
(digitalwrite 13 x)
(delay 1000)
(b (not x)))
(b)
\end{verbatim}
Save it as a text file, then cat the file into /dev/ttyUSB0 or /dev/ARDUINO. Problem is, the code runs
indefinitely. You can't tell it to do anything else. Hit the reset button to restart the Uno back to square one. So instead, you want a
function that runs and then stops. Here's one of those:
\begin{verbatim} (defun b ()
(pinmode 13 :output)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200))
(b)
\end{verbatim}
This works. Save it as a .dat or .txt (whatever) and cat file.txt > /dev/ARDUINO. It will blink a few times, then
stop. You can cat it again, if you wish. There, now we have an interface, and we have proven we can switch an IO high/low. With a couple
of functions, it's trivial to build an interface.\footnote{i.e. have one function set IO high for a given pin. Have one function set IO low.
Have one function blink IO some amount of times. This can be used for counters or shift registers, or in the former, just controlling GPIO.}
Tip: When building code, copy and paste into the Arduino Serial Monitor first. This way, if there's an error, it will tell you what's
wrong. After you've tested the code, then you can put it in a text file. As we are keeping this simple, we don't have logging setup, or
anything else. This is meant to be for basic IO from user space, not C compiled programs. Think lightweight. Fast. Fun.
\subsection{An interface for basic GPIO}
Now, let's build an API/interface so that we can flip some IO, and perhaps increment as mentioned.
\begin{verbatim}
let's ask this: what do I want to accomplish?
answer: I want to be able to flash leds from user space. possibly increment a counter, but
that's later. for now, just flash leds.
solution: build box / board for uno. connect everything up. build initialization program
(that will enable outputs as high)
Then find a way to send commands from gnulinux. let's begin.
1. build initialization program
2. create enclosure, and wire up leds
3. run program live from gnuLinux.
\end{verbatim}
\end{document}

+ 6
- 0
UserSpaceArduinoUno_via_Ulisp/docs/8.aux View File

@ -0,0 +1,6 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}UserSpace IO via uLisp and Arduino Uno}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Setup}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.1}Trouble with interfacing directly to ttyACM0}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.1.2}Troubleshooting Code}{2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}An interface for basic GPIO}{3}\protected@file@percent }

+ 305
- 0
UserSpaceArduinoUno_via_Ulisp/docs/8.log View File

@ -0,0 +1,305 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2021.1.4) 4 JAN 2021 23:03
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/dev/Desktop/code/Electronics_Projects_2021/UserSpaceArduinoUno_via_Ulis
p/docs/8.tex
(/home/dev/Desktop/code/Electronics_Projects_2021/UserSpaceArduinoUno_via_Ulisp
/docs/8.tex
LaTeX2e <2018-12-01>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
)
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2018/10/06 v3.3-154 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2018/09/12 v1.8c caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 64.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@caption@flags=\count88
\c@ContinuedFloat=\count89
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2018/04/16 v5.8 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count90
\Gm@cntv=\count91
\c@Gm@tempcnt=\count92
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
) (./8.aux)
\openout1 = `8.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count93
\scratchdimen=\dimen120
\scratchbox=\box27
\nofMPsegments=\count94
\nofMParguments=\count95
\everyMPshowfont=\toks16
\MPscratchCnt=\count96
\MPscratchDim=\dimen121
\MPnumerator=\count97
\makeMPintoPDFobject=\count98
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
))))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2018/09/10 v0.29 Utility functions of pdfTeX for LuaTeX (HO
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <12> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 14.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 14.
LaTeX Font Info: Try loading font information for OML+cmr on input line 19.
(/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
File: omlcmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OML/cmr/m/n' in size <10.95> not available
(Font) Font shape `OML/cmm/m/it' tried instead on input line 19.
Underfull \hbox (badness 10000) in paragraph at lines 23--25
[]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 28.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 28.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 28.
[1
Non-PDF special ignored!
<special> papersize=433.62pt,650.43pt
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
Overfull \hbox (24.20909pt too wide) in paragraph at lines 46--47
[]\OT1/cmr/m/n/10.95 https://arduino.stackexchange.com/questions/16776/how-to-c
onnect-
[]
Overfull \hbox (6.41527pt too wide) in paragraph at lines 48--49
[]\OT1/cmr/m/n/10.95 https://stackoverflow.com/questions/3918032/bash-serial-i-
o-and-
[]
[2]
Overfull \hbox (2.4602pt too wide) in paragraph at lines 115--115
[] \OT1/cmtt/m/n/10.95 answer: I want to be able to flash leds from user space.
[]
[]
[3]
Overfull \hbox (19.70627pt too wide) in paragraph at lines 115--115
[] \OT1/cmtt/m/n/10.95 solution: build box / board for uno. connect everything
up.[]
[]
Overfull \hbox (25.45496pt too wide) in paragraph at lines 115--115
[] \OT1/cmtt/m/n/10.95 Then find a way to send commands from gnulinux. let's be
gin.[]
[]
[4] (./8.aux) )
Here is how much of TeX's memory you used:
3528 strings out of 494561
53599 string characters out of 6177455
122326 words of memory out of 5000000
7170 multiletter control sequences out of 15000+600000
10198 words of font info for 36 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
41i,8n,38p,352b,253s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cm
bx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.p
fb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></u
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/shar
e/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texli
ve/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/share/texlive/texmf
-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/texlive/texmf-dist/fo
nts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texlive/texmf-dist/fonts/type
1/public/amsfonts/cm/cmtt10.pfb>
Output written on 8.pdf (4 pages, 115870 bytes).
PDF statistics:
53 PDF objects out of 1000 (max. 8388607)
37 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
UserSpaceArduinoUno_via_Ulisp/docs/8.pdf View File


+ 121
- 0
UserSpaceArduinoUno_via_Ulisp/docs/8.tex View File

@ -0,0 +1,121 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
Overview: Goal is to get an easy way to echo "command" \textgreater
/dev/ARDUINO from GnuLinux userspace.
Then I can 3D print a box, throw some LEDs in there, and get a hardware interface for anything from my distro.
\\
\subsection{Setup}
First off, I installed the stable uLisp from ulisp.com (AVR version 3.4 in 2020/12). \footnote{It's a sketch. It installs from Arduino IDE (must be reasonably recent, so 1.8 from Arduino.com works, but not Beowulf/Buster's 1.0 Arduino).}
\subsubsection{Trouble with interfacing directly to
ttyACM0} The Arduino Uno uses an FTDI USB to Serial chip. It also has more than just RX/TX connected (I think). This means
that when you echo "something" to arduino, this command will open the serial connection, send the command, then close the command and
possibly reset the board via one of the UART reset pins (DTS perhaps). This won't work. First thing to do, get an FTDI board, and
connect it to the computer, the connect it to digital pins 0,1 (for UART). Then test sending a command. This works. This will be the
final setup. Computer -\textgreater FTDI -\textgreater Arduino.
It should be possible to get it to work without the FTDI chip, but not without some debugging. Have at it, if you wish. I don't have
time to troubleshoot this now. I tried a few things (exec 3\textless \textgreater, and the stty) neither worked. You could also use Python, but then that's
more dependencies. Bad idea. This should be simple.
Ref:
https://forum.arduino.cc/index.php?topic=61127.0
https://arduino.stackexchange.com/questions/16776/how-to-connect-arduino-device-to-linux
https://stackoverflow.com/questions/3918032/bash-serial-i-o-and-arduino
\subsubsection{Troubleshooting Code}
The first thing you will want to do is prove that you can echo or cat "code" \textgreater /dev/ARDUINO.
This code works:
\begin{verbatim}
(defun b (&optional x)
(pinmode 13 :output)
(digitalwrite 13 x)
(delay 1000)
(b (not x)))
(b)
\end{verbatim}
Save it as a text file, then cat the file into /dev/ttyUSB0 or /dev/ARDUINO. Problem is, the code runs
indefinitely. You can't tell it to do anything else. Hit the reset button to restart the Uno back to square one. So instead, you want a
function that runs and then stops. Here's one of those:
\begin{verbatim} (defun b ()
(pinmode 13 :output)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200))
(b)
\end{verbatim}
This works. Save it as a .dat or .txt (whatever) and cat file.txt \textgreater /dev/ARDUINO. It will blink a few times, then
stop. You can cat it again, if you wish. There, now we have an interface, and we have proven we can switch an IO high/low. With a couple
of functions, it's trivial to build an interface.\footnote{i.e. have one function set IO high for a given pin. Have one function set IO low.
Have one function blink IO some amount of times. This can be used for counters or shift registers, or in the former, just controlling GPIO.}
Tip: When building code, copy and paste into the Arduino Serial Monitor first. This way, if there's an error, it will tell you what's
wrong. After you've tested the code, then you can put it in a text file. As we are keeping this simple, we don't have logging setup, or
anything else. This is meant to be for basic IO from user space, not C compiled programs. Think lightweight. Fast. Fun.
\subsection{An interface for basic GPIO}
Now, let's build an API/interface so that we can flip some IO, and perhaps increment as mentioned.
\begin{verbatim}
let's ask this: what do I want to accomplish?
answer: I want to be able to flash leds from user space.
possibly increment a counter, but
that's later. for now, just flash leds.
solution: build box / board for uno. connect everything up.
build initialization program
(that will enable outputs as high)
Then find a way to send commands from gnulinux. let's begin.
1. build initialization program
2. create enclosure, and wire up leds
3. run program live from gnuLinux.
\end{verbatim}
--
\end{document}

+ 119
- 0
UserSpaceArduinoUno_via_Ulisp/docs/8.tex~ View File

@ -0,0 +1,119 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{UserSpace IO via uLisp and Arduino Uno}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
%\tableofcontents
\textcolor{green!60!blue!70}{
\section{UserSpace IO via uLisp and Arduino Uno}}
Overview: Goal is to get an easy way to echo "command" \textgreater
/dev/ARDUINO from GnuLinux userspace.
Then I can 3D print a box, throw some LEDs in there, and get a hardware interface for anything from my distro.
\\
\subsection{Setup}
First off, I installed the stable uLisp from ulisp.com (AVR version 3.4 in 2020/12). \footnote{It's a sketch. It installs from Arduino IDE (must be reasonably recent, so 1.8 from Arduino.com works, but not Beowulf/Buster's 1.0 Arduino).}
\subsubsection{Trouble with interfacing directly to
ttyACM0} The Arduino Uno uses an FTDI USB to Serial chip. It also has more than just RX/TX connected (I think). This means
that when you echo "something" to arduino, this command will open the serial connection, send the command, then close the command and
possibly reset the board via one of the UART reset pins (DTS perhaps). This won't work. First thing to do, get an FTDI board, and
connect it to the computer, the connect it to digital pins 0,1 (for UART). Then test sending a command. This works. This will be the
final setup. Computer -\textgreater FTDI -\textgreater Arduino.
It should be possible to get it to work without the FTDI chip, but not without some debugging. Have at it, if you wish. I don't have
time to troubleshoot this now. I tried a few things (exec 3\textless \textgreater, and the stty) neither worked. You could also use Python, but then that's
more dependencies. Bad idea. This should be simple.
Ref:
https://forum.arduino.cc/index.php?topic=61127.0
https://arduino.stackexchange.com/questions/16776/how-to-connect-arduino-device-to-linux
https://stackoverflow.com/questions/3918032/bash-serial-i-o-and-arduino
\subsubsection{Troubleshooting Code}
The first thing you will want to do is prove that you can echo or cat "code" \textgreater /dev/ARDUINO.
This code works:
\begin{verbatim}
(defun b (&optional x)
(pinmode 13 :output)
(digitalwrite 13 x)
(delay 1000)
(b (not x)))
(b)
\end{verbatim}
Save it as a text file, then cat the file into /dev/ttyUSB0 or /dev/ARDUINO. Problem is, the code runs
indefinitely. You can't tell it to do anything else. Hit the reset button to restart the Uno back to square one. So instead, you want a
function that runs and then stops. Here's one of those:
\begin{verbatim} (defun b ()
(pinmode 13 :output)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200)
(digitalwrite 13 nil)
(delay 500)
(digitalwrite 13 t)
(delay 200))
(b)
\end{verbatim}
This works. Save it as a .dat or .txt (whatever) and cat file.txt \textgreater /dev/ARDUINO. It will blink a few times, then
stop. You can cat it again, if you wish. There, now we have an interface, and we have proven we can switch an IO high/low. With a couple
of functions, it's trivial to build an interface.\footnote{i.e. have one function set IO high for a given pin. Have one function set IO low.
Have one function blink IO some amount of times. This can be used for counters or shift registers, or in the former, just controlling GPIO.}
Tip: When building code, copy and paste into the Arduino Serial Monitor first. This way, if there's an error, it will tell you what's
wrong. After you've tested the code, then you can put it in a text file. As we are keeping this simple, we don't have logging setup, or
anything else. This is meant to be for basic IO from user space, not C compiled programs. Think lightweight. Fast. Fun.
\subsection{An interface for basic GPIO}
Now, let's build an API/interface so that we can flip some IO, and perhaps increment as mentioned.
\begin{verbatim}
let's ask this: what do I want to accomplish?
answer: I want to be able to flash leds from user space. possibly increment a counter, but
that's later. for now, just flash leds.
solution: build box / board for uno. connect everything up. build initialization program
(that will enable outputs as high)
Then find a way to send commands from gnulinux. let's begin.
1. build initialization program
2. create enclosure, and wire up leds
3. run program live from gnuLinux.
\end{verbatim}
\end{document}

+ 35
- 0
UserSpaceArduinoUno_via_Ulisp/notes/functions.dat View File

@ -0,0 +1,35 @@
#note: some of these are redundant, and
we will just use the defaults (i.e. pinmode pinNum :output)
#but for now, will leave them h
###basic functions to use
#these are arduino ones ofc
#ulisp includes these from arduino:
#millis, for-millis, with-i2c, restart-i2c, with-serial, with-spi,
#with-sd-card, pinmode, digitalread, digitalwrite, analogread,
#analogwrite, delay, note
#
#e.g.
#
# (pinmode pinNum :output)
# (digitalwrite pinNum t)
#
# let's ask this: what do I want to accomplish?
#
# answer: I want to be able to flash leds from user space. possibly increment a counter, but
# that's later. for now, just flash leds.
#
# solution: build box / board for uno. connect everything up. build initialization program
# (that will enable outputs as high)
# Then find a way to send commands from gnulinux. let's begin.
(defun timedhiOut (pinNum howLong)
(digitalwrite pinNum t)
(delay howLong)
(digitalwrite pinNum nil))
(defun lowOut (pinNum)
(digitalwrite pinNum nil))

Loading…
Cancel
Save