info.txt 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. STM32L0 Cortex-M0/M0+
  2. STM32L011 access line 2K RAM 2x Timer
  3. STM32L031 access line 8K RAM 3x Timer
  4. STM32L0x1 access line
  5. STM32L0x1K access line, 32 Pins (LQFP)
  6. STM32L0x1F access line, 20 Pins (TSSOP20)
  7. STM32L0x1F3 8KB Flash
  8. STM32L0x1F4 16KB Flash
  9. STM32L011F4P6
  10. STM32L0x1F6 32KB Flash
  11. STM32L0x2 USB+DAC
  12. STM32L1 Cortex-M3
  13. STM32L4 Cortex-M4
  14. http://www.st.com/en/microcontrollers/stm32l031f6.html
  15. =========
  16. http://www.st.com/en/embedded-software/stm32cube-embedded-software.html
  17. zip file: ~/Downloads/en.stm32cubel0.zip
  18. this contains the lib,
  19. STM32Cube_FW_L0_V1.8.0/Drivers/STM32L0xx_HAL_Driver
  20. however the lib requires a config file.
  21. example is here:
  22. STM32Cube_FW_L0_V1.8.0/Projects/STM32L011K4-Nucleo/Examples/GPIO/GPIO_IOToggle/Inc
  23. startup code (.s files)
  24. STM32Cube_FW_L0_V1.8.0/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/gcc
  25. register definitions:
  26. STM32Cube_FW_L0_V1.8.0/Drivers/CMSIS/Device/ST/STM32L0xx/Include
  27. STM32L031xNyM
  28. 3: RAM size? 8KB
  29. x: K=32 pins, F=20 pins
  30. N: 4=16KB, 6=32KB
  31. y: T=LQFP?
  32. M: temperature range
  33. STM32L031F6P6 TSSOP20, 32K Flash --> available
  34. STM32L052K8T6 LQFP32, 64K Flash, USB --> available
  35. --> ld file for example here:
  36. ./STM32Cube_FW_L0_V1.8.0/Projects/STM32L031K6-Nucleo/Templates_LL/SW4STM32/STM32L031K6_NUCLEO/STM32L031K6Tx_FLASH.ld
  37. however newly created and derived from nokeep.ld script
  38. library/hal/CMSIS
  39. kchmviewer STM32Cube_FW_L0_V1.8.0/Drivers/STM32L0xx_HAL_Driver/STM32L073xx_User_Manual.chm
  40. doxygen seiten der hal treiber.... leider wie üblich nicht besonders übersichtlich
  41. Code Source
  42. startup_stm32l031xx.s STM32Cube_FW_L0_V1.8.0/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/gcc
  43. startup code, which will also call SystemInit and main()
  44. system_stm32l0xx.c STM32Cube_FW_L0_V1.8.0/Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates
  45. Contains the SystemInit() and SystemCoreClockUpdate() function.
  46. system_stm32l0xx.h STM32Cube_FW_L0_V1.8.0/Drivers/CMSIS/Device/ST/STM32L0xx/Include
  47. Contains the global defs for system_stm32l0xx.c. It is placed in the common/inc
  48. stm32l0xx/inc various include files copied from
  49. STM32Cube_FW_L0_V1.8.0/Drivers/CMSIS/Device/ST/STM32L0xx/Include/
  50. STM32Cube_FW_L0_V1.8.0/Drivers/CMSIS/Include/
  51. Documentation
  52. PM0223 STM32L0 Series Cortex ® -M0+ programming manual DM01004451.pdf 110 pages
  53. RM0377 STM32L0x1 Reference manual DM01008282.pdf 882 pages
  54. - Section 3.3.2: BOOT0 Pin (0=user, 1=bootloader)
  55. STM32L031x4 STM32L031x6 Datasheet DM00140359.pdf 118 pages
  56. AN2606 Bootloader description CD00167594.pdf
  57. USART2 configuration is: 8-bits, even parity and 1 Stop bit, RX/TX on PA9/PA10 or PA2/PA3
  58. Die doku ist da nicht ganz eindeutig. PA10 und PA3 sind die UART2_RX pins, PA9 und PA2 die TX
  59. AN3155 USART protocol used in the STM32â„¢ bootloader
  60. External tools (Ubuntu Linux)
  61. arm-none-eabi-gcc sudo apt install gcc-arm-none-eabi
  62. stm32flash sudo apt install stm32flash
  63. stm32flash: There seems to be a problem with ch340/ch341 devices
  64. https://sourceforge.net/p/stm32flash/tickets/81/?limit=25&page=1#7106
  65. also mentioned here:
  66. https://sourceforge.net/p/stm32flash/wiki/Hints/
  67. I think this got solved in the kernel by a commit on Oct 24, 2016:
  68. https://github.com/torvalds/linux/commit/ba781bdf86621b71aa79a1ac0ad584f1e8aac307#diff-27cbcff3aa65aa3cda4aef10b416dd24
  69. modinfo ch341 --> 4.4.0-62-generic
  70. https://github.com/torvalds/linux/blob/v4.4/drivers/usb/serial/ch341.c --> Tag 4.4
  71. looks like this moved to the kernel with the 4.10 tag
  72. Ubuntu kernel version ermitteln: cat /proc/version
  73. Ubuntu 17.04 may use 4.10 and might be there at 13 Apr 2017
  74. ok, i will be using a cp21xx driver here...
  75. Conclution: Support of CH340 usb-serial converter for ubuntu linux will be there with Ubunutz 17.04
  76. ===========
  77. steampunk
  78. http://www.rattlebrained.org/articles/diy-pvc-train-whistle
  79. Kupferrohre:
  80. https://www.bengs-modellbau.de/zubehoerteile/flasche-und-fittings/
  81. 90 grad fitting
  82. Auch nicht schlecht:
  83. https://knupfer.info/shop/index.php/deutsch/profile-rohre/kupferrohr.html
  84. kupferrohrflöte, obertonflöte
  85. http://www.spiritsoundart.de/shop/obertonfloeten-aus-kupfer/
  86. http://www.maxbrumbergflutes.eu/floeten/obertonfloeten/
  87. englisch
  88. https://en.wikipedia.org/wiki/Overtone_flute
  89. Didgeridoo
  90. ===========
  91. TODO, 17 Apr 2017
  92. - Pullups an die buttons und die tamper pullups deaktivieren.
  93. Grund: Ansonsten kann man nicht mehr per reset booten und flashen
  94. --> DONE (es gibt einen menü eintrag)
  95. - Es wird ja ständig das power interface sowie RTC activiert und deaktiviert.
  96. Das sollte man vermutlich dauerhaft aktiviert lassen. --> DONE
  97. 9. Mai 17
  98. Irgendwie funktioniert das warm startup nicht. Der uC stürzt ab, wenn man
  99. das u8x8_InitDisplay() nicht ausführt, aber warum? Was habe ich vergessen?
  100. --> pointer fehler
  101. todo
  102. - load/save values to backup register --> DONE
  103. - configuration of the standby delay value --> DONE
  104. - display off option for standby --> DONE
  105. - if the alarm is confirmed within the same minute, then the alarm will apear again.
  106. --> Fixed (checked for the is_equal flag)
  107. - Auto detect für den externen oszillator oder quarz
  108. ============
  109. Holzbearbeitung
  110. redwood 15x60x60 (dictum.com)
  111. Linse 35,5mm (astromedia.de, OM7a)
  112. 32mm Holzbohrer
  113. Fach für 2xAAA Halterung:
  114. Von unten mit 32mm Holzbohrer aufbohren: Achtung nicht durchbohren
  115. Dann mit 4x 14mm Holzbohrer weiterbohren (an den Rändern des vorherigen Lochs).
  116. Achtung nicht durchbohren
  117. Bedienknöpfe:
  118. Löcher mit dem Durchmesser der Knöpfe bohren (Rote Buttons hatten 12mm)
  119. Display und uC Gehäuse:
  120. Von unten mit 32mm Holzbohrer aufbohren: Achtung nicht durchbohren
  121. Dann mit einem kleineren Bohrer (6mm?) entlang der Front mehrere Löcher Bohren
  122. Auch hier: Nicht durchbohren
  123. Mit der Stichsäge Die Bohrungen weiter aufsägen.
  124. Display Front:
  125. Löcher bohren, mit der Stichsäge aufbohren, dann mit der Feile quadratisch machen.
  126. Display Abdeckung
  127. M30: Aussendurchmesser 56mm, Innen31
  128. Derzeit: Aussen 52, Innen 32
  129. https://www.befestigungsfuchs.de/Befestigungstechnik/Unterlegscheiben/DIN-125/Form-A/50-Unterlegscheiben-DIN-125-Form-A-Kunststoff-Polyamid-fuer-M30?action_ms=1
  130. 50 Stück, 13€ + 5€ Versand
  131. Buchescheiben 50mm, aber ca. 15€ Versand und Mindermengenzuschlag
  132. http://www.rundstab.de/product_info.php?info=p2934_buchenscheiben-50-mm.html&no_boost=1
  133. 10 Stück 5€ + 15€ Versand
  134. Buchescheiben 50mm, aber sortiert im set mit 35 anderen
  135. http://www.rakuten.de/produkt/holzscheiben-35-stueck-15-5-cm-349163036.html
  136. 2 Stück für 2,60 +5€ Versand
  137. Im Englischen heisst das wohl "flat washer"
  138. --> Bei E-Bay bestellt Innen 33mm aussen 42mm... naja mal sehen wie das mit der Linse wird.
  139. ===============
  140. steampunk t-shirts
  141. --> https://www.redbubble.com
  142. https://www.redbubble.com/people/grimdork/works/14821398-steampunk-gears?grid_pos=88&p=t-shirt&rbs=8ebda8e5-4144-46a9-ac4a-844d84359fa5&ref=products_grid&style=mens
  143. https://www.redbubble.com/people/melaniem68/works/8073180-steampunk-play?grid_pos=207&p=t-shirt&rbs=562932c0-5414-48ae-a967-336e2ea35256&ref=products_grid&style=mens
  144. https://www.redbubble.com/people/amadeus-ch/works/11341440-mechanical-heart-steampunk?grid_pos=244&p=t-shirt&rbs=562932c0-5414-48ae-a967-336e2ea35256&ref=products_grid&style=mens
  145. https://www.redbubble.com/people/interarte/works/7300455-steampunk?p=t-shirt&style=mens&body_color=black&print_location=front
  146. https://www.redbubble.com/people/reubsaet/works/23847501-steampunk-art?grid_pos=384&p=mens-graphic-t-shirt&rbs=d5842963-a112-4003-a60e-06ecd20a4e42&ref=products_grid
  147. FITTI20
  148. ---------------
  149. todo
  150. - uptime counter --> done
  151. - bessere voltanzeige --> nicht umgesetzt, aber optional
  152. - winterzeit: Muss direkt auf der hardware gemacht werden, alles andere ist zu kompliziert
  153. ---------------
  154. extras
  155. obertonflöte: schwierig, vor allem wegen der luft
  156. fliehkraftregler (governor): kann man wohl praktisch nicht kaufen
  157. http://www.hilltop-cottage.info/blogs/adam/model-watt-governor-cad-plans-and-construction-notes/
  158. http://www.stuartmodels.com/products/fittings--tools---accessories/governor---spring-belt ... teuer
  159. Alles zu teuer.
  160. Glocke mit servo dran...
  161. ---------------
  162. A) short description of the STM32L0 RTC
  163. - date/time register
  164. - CR register with special DST features (BKP, SUB1H and ADD1H flags)
  165. - two step write protection:
  166. PWR->CR |= PWR_CR_DBP;
  167. RTC->WPR = 0x0ca; /* disable RTC write protection */
  168. RTC->WPR = 0x053;
  169. B) algorithm
  170. - basic idea
  171. - special case for winter time change (double hour)
  172. C) Date calculation
  173. D) Code
  174. ---------------
  175. Bauteile Steampunk Clock mit MKR Zero
  176. Gold-Sprühlack
  177. Kupferrohre 3x Durchmesser 12mm, Länge 40mm, Meterware Baumarkt
  178. Kupferrohre 2x L-Stück, 12mm, Baumarkt
  179. Steckernetzteil 5V, 2.1mm Hohlstecker (z.B. Reichelt SNT 1000 5V)
  180. Einbaukupplung, 2.0mm Stift (z.B. Reichelt LUM NEBJ 21C)
  181. Buzzer, Durchmesser 10mm
  182. --> Achtung: Den CAD Plan noch ändern.
  183. ---------------
  184. Bugs
  185. Man scheint die zeit nicht immer vorzeitig ausschalten zu können. Warum?
  186. Erneutes eingeben der alarmzeit behebt das problem.
  187. Manchmal erscheit die nächste zeit gar nicht im display. Auch hier
  188. behebt das erneute eingeben der alarmzeit das problem.
  189. Es sieht so aus: man schaltet die zeit vorzeitig ab, dann erscheint das menü
  190. für den übernächsten tag nicht (für den folgenden tag hatte man es ja abgeschaltet).
  191. 17. Sep 2017: einen bug in uint32_t get_u32_by_alarm_data(gui_alarm_t *alarm) behoben
  192. ---------------
  193. MKR Zero
  194. Processor: SAMD21G18
  195. ---------------
  196. Ausgabe, ob gerade winter oder sommerzeit aktiv ist.
  197. ========================0
  198. https://stackoverflow.com/questions/50151897/arm-gcc-conflicting-cpu-architectures
  199. ARM GCC: Conflicting CPU architectures
  200. So you should remove gcc-arm-none-eabi and binutils-arm-none-eabi:
  201. sudo apt-get remove binutils-arm-none-eabi
  202. sudo apt-get remove gcc-arm-none-eabi
  203. Now install from the PPA:
  204. sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
  205. sudo apt-get update
  206. sudo apt-get install gcc-arm-embedded