Commit Graph
100 Commits
Author SHA1 Message Date
BlackMark a5f8e8e3d7 Fix volatile compound assignments being deprecated in C++20 2022-05-29 14:46:32 +02:00
BlackMark 119de32445 Adapt to moved type submodule 2020-05-16 17:42:52 +02:00
BlackMark 8f88cdccea Fix misaligned ifdef-endif pair 2020-04-13 17:17:17 +02:00
BlackMark dfb076cda8 Change interrupt handler technique to not rely on function pointer and instead use user-facing macros 2020-04-13 16:43:04 +02:00
BlackMark 6d9ef6e4be Make variables const 2020-04-13 16:41:16 +02:00
BlackMark bcd18db494 Fix double speed flag not being cleared if not used 2020-04-13 13:06:11 +02:00
BlackMark 04b6782ec4 Add automatic selection of double speed based on error 2020-04-12 23:57:16 +02:00
BlackMark ae03c8d43e Adapt to new std compliant naming of numeric_limits 2020-04-07 19:15:05 +02:00
BlackMark 41b9ef74f9 Moved uart utils to separate type submodule 2020-04-07 03:50:29 +02:00
BlackMark 6f592dd098 Fixed missing const qualifier 2020-04-06 21:45:20 +02:00
BlackMark fa0a65a94c Capitalized local constexpr variables to be more consistent 2020-04-05 03:36:05 +02:00
BlackMark 0e128bcb7d Made variable const 2020-04-05 03:30:22 +02:00
BlackMark 0a52110d47 Moved buffer closer to where needed 2020-04-05 03:28:45 +02:00
BlackMark f751833a88 Made variables constexpr 2020-04-05 03:25:25 +02:00
BlackMark 1bd49f65fa Fixed template variable capitalization 2020-04-05 03:23:12 +02:00
BlackMark cb436b11a8 Changed static assert to indicate impossible usage 2020-02-21 17:46:28 +01:00
BlackMark 2a2b9b8817 Added MIT license file 2020-02-01 15:36:20 +01:00
BlackMark 0532bf48b0 Changed library so that user has to explicitly include hardware header with int vector define set to get ISR 2019-08-15 18:58:25 +02:00
BlackMark f6df6a6a18 Undid accidental regression 2019-08-15 18:49:29 +02:00
BlackMark 1bdc06a325 Switched to include interrupt vectors by default 2019-08-15 18:12:37 +02:00
BlackMark ddf105a175 Made library header only again and provided way to disable interrupt vectors 2019-08-15 18:07:11 +02:00
BlackMark 2fd05483ee Replaced workaround with provided macro 2019-08-15 17:48:41 +02:00
BlackMark 16c9015f43 Replaced maybe_unused with unnamed parameter 2019-08-14 19:55:06 +02:00
BlackMark 7c21664fe4 Refactored code to get rid of code duplication 2019-08-14 19:49:42 +02:00
BlackMark e326e40b38 Fixed blocking on full rx buffer and implemented support for ATmega328P 2019-08-14 18:58:21 +02:00
BlackMark 8d028aa635 Changed git ignore to ignore make output 2019-08-11 10:04:15 +02:00
BlackMark c4700ed824 Fixed non-compliant use of constexpr for pointers 2019-08-10 14:12:10 +02:00
BlackMark 1ee9bc8ca4 Removed sign from maxNumDigits, because sign is handled separately anyway 2019-08-07 19:59:48 +02:00
BlackMark 1c026e8eb3 Updated git ignore file 2019-08-05 21:18:36 +02:00
BlackMark c4f38cbcdf Changed template parameter order 2019-08-05 20:05:59 +02:00
BlackMark 87e6936051 Added enabling of interrupts for interrupt driven uart 2019-08-05 17:59:33 +02:00
BlackMark 1d633c538e Implemented numeric limits for floating point 2019-08-05 17:56:10 +02:00
BlackMark 231fc0de48 Changed clock header to cpp file extension 2019-08-03 20:20:20 +02:00
BlackMark 6438aa81c1 Added padding and case selection to txNumber 2019-08-03 19:49:01 +02:00
BlackMark 8153696309 Fixed flushing not blocking correctly 2019-08-03 18:45:51 +02:00
BlackMark 9f9f7a8de5 Added flushing of transmit buffer 2019-08-03 17:52:28 +02:00
BlackMark b6c1c3b51b Fixed conversion for bases other than 10 2019-08-03 17:32:38 +02:00
BlackMark 8d07e2d4db Implemented overloads for printing numbers 2019-08-03 16:52:57 +02:00
BlackMark fe9e67036e Implemented stream operator for some basic types 2019-08-03 16:17:07 +02:00
BlackMark 9f7dc0da55 Added alias for driver dependent data size 2019-08-03 16:13:52 +02:00
BlackMark 2a07744575 Added static_assert for transmitting numbers 2019-08-03 16:11:21 +02:00
BlackMark ecdefe40e7 Implemented integral type checking 2019-08-03 16:10:19 +02:00
BlackMark 53b791cb05 Implemented printing of numbers 2019-08-03 15:00:41 +02:00
BlackMark 50e01c480d Implemented templated numeric limits 2019-08-03 14:54:23 +02:00
BlackMark 7d4eddbd8b Changed interface to not initialize uart on construction 2019-08-03 11:14:01 +02:00
BlackMark 778f5f9754 Moved always_false template to utils 2019-08-03 10:58:32 +02:00
BlackMark 1ca8ea2061 Removed Peter Fleury's c uart library 2019-08-03 10:47:32 +02:00
BlackMark 80633998c7 Removed legacy usart library 2019-08-03 10:23:53 +02:00
BlackMark 2cd4069654 Moved interrupt vectors to their own translation unit to solve redefinition error 2019-08-02 20:29:04 +02:00
BlackMark 33c3cedb1e Fixed missing headers 2019-08-02 20:23:54 +02:00
BlackMark 925bb56f98 Added clang format file 2019-08-02 19:44:34 +02:00
BlackMark a3d76a138d Implemented peeking with and without data for interrupt and blocking mode 2019-08-02 18:20:06 +02:00
BlackMark 95963295e2 Implemented blocking rx 2019-08-02 17:54:34 +02:00
BlackMark 0bfd303a26 Removed unneeded tx complete interrupt 2019-08-02 17:41:14 +02:00
BlackMark 16f4be8c6c Implemented interrupt driven rx for uart0 2019-08-02 17:38:00 +02:00
BlackMark efe1446907 Implemented interrupt driven rx for uart1 2019-08-02 17:36:07 +02:00
BlackMark b90da9bd9c Moved ring buffer to it's own struct 2019-08-02 17:13:53 +02:00
BlackMark 51a9d30c0a Implemented interrupt driven tx 2019-08-02 16:41:53 +02:00
BlackMark 496bb3d4d1 Removed force inlining functions that would be called often 2019-08-02 16:41:34 +02:00
BlackMark 5d6bc4761c Changed interrupt order to match vector numbers 2019-08-02 15:46:07 +02:00
BlackMark 3aeb43ee1e Added basic structure to support interrupt driven operation 2019-08-02 12:18:35 +02:00
BlackMark a13a1ca9ab Fixed header includes 2019-08-02 12:18:35 +02:00
BlackMark bdf4bd169e Moved hardware abstraction to separate header 2019-08-02 12:18:35 +02:00
BlackMark 6e45340993 Removed trailing whitespaces 2019-08-01 21:51:46 +02:00
BlackMark f0a3cd6da8 Improved formatting 2019-07-30 21:51:13 +02:00
BlackMark 6861b8f5d1 Added force inline to reduce code size 2019-07-30 21:48:00 +02:00
BlackMark aac73447b3 Implemented hardware abstraction that both hardware0 and hardware1 can use 2019-07-30 21:43:52 +02:00
BlackMark fbd087808a Added enums for register bit positions 2019-07-30 20:56:16 +02:00
BlackMark 65bbf5e96a Refactored hardware abstraction 2019-07-30 20:29:38 +02:00
BlackMark c03196493a Ran clang-format 2019-07-30 20:29:15 +02:00
BlackMark 470eb06345 Removed unused struct 2019-07-30 18:35:45 +02:00
BlackMark 099be106a7 Added C uart library by Peter Fleury as comparison 2019-07-30 18:32:00 +02:00
BlackMark 6ded0e1c8d Fixed rounding error in baud rate calculation 2019-07-28 19:20:03 +02:00
BlackMark 00cb9ad13c Added alias for first hardware uart 2019-07-28 17:58:23 +02:00
BlackMark 4a9cee922a Refactored class names to start with capital letter 2019-07-28 17:57:49 +02:00
BlackMark 8e0ba5a463 Implemented basic hardware support for transmitting 2019-07-28 17:32:51 +02:00
BlackMark a71035d4b7 Specified default for hardware mode 2019-07-28 14:10:48 +02:00
BlackMark fd7e8e7238 Added driving parameter 2019-07-28 14:09:09 +02:00
BlackMark d9a05d0273 Fixed refactoring problem 2019-07-28 14:08:41 +02:00
BlackMark 2bbba0fcbd Removed unnecessary const qualifiers in template 2019-07-28 14:00:46 +02:00
BlackMark 29b4d85ce3 Renamed settings to config 2019-07-28 12:15:19 +02:00
BlackMark ae90fdae3f Renamed choosing function 2019-07-28 10:54:47 +02:00
BlackMark 2364bff11f Implemented automatic type deducation depending on data bits 2019-07-28 10:49:14 +02:00
BlackMark f08f607265 Fixed not implemented compiler error 2019-07-28 10:35:11 +02:00
BlackMark f9c34b09ba Added basic layout for new library implementation 2019-07-27 18:55:17 +02:00
BlackMark e07ba7ecd8 Fixed handling for ATmega1284P 2019-07-27 18:54:51 +02:00
BlackMark 81e6a9fdc0 Added support for atmega8a 2018-04-12 10:44:03 +02:00
BlackMark b2a3b03867 Added git ignore and attribute files 2016-08-16 16:46:33 +02:00
BlackMark 88eb11cc02 Added blocking receive function and peek function 2016-05-26 20:15:21 +02:00
BlackMark 7fd6d8ddec Added separate receive line function with timeout and removed terminating string from received line 2016-05-25 23:38:02 +02:00
BlackMark c261d7d309 Added getter functions for usart settings and fixed receive flush to work for all usart settings 2016-05-25 21:22:16 +02:00
BlackMark e008cc8da1 Fixed flushing receive buffer to work independent of baud rate and with and without interrupts 2016-05-25 01:40:53 +02:00
BlackMark 99d09b0f0f Converted to submodule 2016-05-24 21:11:44 +02:00
BlackMark cf1b273549 Changed receive flushing function to not need a timeout and to work with and without interrupts 2016-05-24 21:08:06 +02:00
BlackMark 07474c7e19 Added fushing functions and destructor 2016-05-24 20:59:46 +02:00
BlackMark 30c0269fca Improved code so that it automatically adjusts to whether interrupts are enabled or not and also removed useless max size paramter from receive string function 2016-05-21 21:49:56 +02:00
BlackMark 02d5d34e72 Further refactored printing code to be more readable 2016-05-21 20:47:18 +02:00
BlackMark 8ccddc483e Added C++ stream syntax for writing strings 2016-05-21 20:39:37 +02:00
BlackMark 8b081b8c9f Replaced c array buffer with c++ array class buffer 2016-05-21 19:11:04 +02:00
BlackMark 8e249b46b5 Fixed USART1 2016-05-20 22:33:47 +02:00