Go to file
Valentin Ochs 70ea0b1f14 Comments 2021-08-16 00:03:53 +02:00
.gitignore Do not ignore linker files 2021-07-16 21:22:20 +02:00
Makefile Bootloader, speed calculation, better position detection 2021-08-15 02:01:04 +02:00
README.md Initial readme 2021-02-20 17:32:46 +01:00
adc.c Report battery state in mV 2021-07-16 21:21:22 +02:00
adc.h Working uart bridging 2021-02-13 20:39:00 +01:00
buttons.c Fix buttons 2021-07-17 00:52:42 +02:00
buttons.h Formatting, buttons, printf from musl 2021-02-19 18:01:56 +01:00
encoder.c Comments 2021-08-16 00:03:53 +02:00
encoder.h Bootloader, speed calculation, better position detection 2021-08-15 02:01:04 +02:00
linker.ld Add options for generating UF2 image for bootloader, and set up linker symbol for bootloader config 2021-07-16 21:18:10 +02:00
main.c Better USB connection detection 2021-08-15 17:44:00 +02:00
printf.c Fix bug from cleaning out floating point stuff 2021-02-19 21:31:27 +01:00
ringbuffer.c Formatting, buttons, printf from musl 2021-02-19 18:01:56 +01:00
ringbuffer.h Whitespace 2021-02-19 21:31:06 +01:00
stdio_impl.h Formatting, buttons, printf from musl 2021-02-19 18:01:56 +01:00
systick.h Bootloader, speed calculation, better position detection 2021-08-15 02:01:04 +02:00
uart.c Working uart bridging 2021-02-13 20:39:00 +01:00
uart.h Working uart bridging 2021-02-13 20:39:00 +01:00
usb.c Better USB connection detection 2021-08-15 17:44:00 +02:00
usb.h Better USB connection detection 2021-08-15 17:44:00 +02:00

README.md

Door Control

A project to interface an electronic door lock actuator by Abus with a PC using an Adafruit Feather STM32F405 Express.

Goals

  • USB-serial converter @ 115200 baud to pass through commands to an external NXP532 NFC controller. This will be used to authenticate people who want to open the door.
  • Readout of the current door state. This is done by connecting to the two outputs of the rotary encoder and integrating the changes.
  • Opening and closing the door by simulating presses of two buttons.

Wiring

TODO. Add pictures and stuff.

Communication

Endpoint 3 is the serial bridge to the NFC controller and should show up as e.g. /dev/serial/by-id/usb-Imaginaerraum.de_DoorControl_433632201350535727003F0-if03 (depending on the ID of the STM32F405).

Endpoint 1 is another serial interface and used for all other functions.

Command characters:

  • 'B': Print the battery voltage
  • 'C': Closes the door
  • 'O': Opens the door
  • 'R': Print the encoder position

Currently, a change in the encoder value will be communicated immediately, as "pos: %d\r\n", the same format returned by the 'R' command.