RedHawk
80a89806f7
UI: [ #35 ] Remove redundant fix.
...
*DigitalIoPin now handles pin muxing properly.
2023-05-10 13:47:06 +03:00
RedHawk
0e64099a56
DigitalIoPin: Added LPC11U68 specific pin functions
...
*In order for pin to act as IO, it must be configured with
according function. Usually it is IOCON_FUNC0,
but some pins on port 0 are an exception (IOCON_FUNC1).
2023-05-10 13:45:47 +03:00
RedHawk
356b3ebbe9
LiquidCrystal.cpp: [ #35 ] LCD now wraps text.
2023-05-10 13:12:13 +03:00
RedHawk
2b02a786fa
Menu & UI: [ #25 , #35 ] Fixed UI.
...
*String in Menu are static. Temperature is limited by -99 and 99 bounds.
*UserInterface cleaned a bit.
2023-05-10 13:11:41 +03:00
RedHawk
ea1139567a
UI: [ #35 ] Fixing issues.
...
*Send UserInterface::InterfaceWithData in the queue instead of Event.
*Remove pointer madness for LCD.
*Timeout for Idle Event from Master thread.
2023-05-09 01:14:47 +03:00
RedHawk
f0bbfb22ab
Menu & UI: [ #25 , #35 ]Communication between these tasks.
...
* The code is a mess for now. I'm not sure if there is any reason to
send a whole event to UI, it's better to send InterfaceWithData.
* Sending to queue from Menu isn't great as well.
2023-05-08 16:09:31 +03:00
RedHawk
052d015425
LiquidCrystal: Added destructor.
2023-05-08 15:35:46 +03:00
RedHawk
20fe16b46e
UI: [ #35 ] Added UserInterface task.
2023-05-08 15:35:16 +03:00
RedHawk
d3f5cdebbc
menu: [ #25 ] Made states. Moved logic to Menu.
...
*Menu class now is responsible for the whole logic with
temperature and set_point.
*void NotifyAndRefreshUI (const char *str) is a placeholder
for sending a string value on a queue to UI task,
which will handle the lcd screen.
*Added error return value to Manager::parseEvent(Event* e)
2023-05-08 13:08:01 +03:00
Vasily Davydov
fad70c9f37
menu: [ #25 ] rename event to state
2023-05-07 17:45:23 +03:00
Vasily Davydov
bd2f6b32f1
menu: [ #25 ] fix warnings and add assertions
2023-05-07 17:45:23 +03:00
vas-dav
83de15ce5b
menu: [ #25 ] handle eventpair with rotary
2023-05-07 17:45:23 +03:00
Vasily Davydov
01855e2f52
manager: [ #25 ] menu class init
2023-05-07 17:45:23 +03:00
Vasily Davydov
df6411c76b
manager: [ #25 ] add Counter template for set_point
2023-05-07 17:45:23 +03:00
Vasily Davydov
a2b07be73b
manager: [ #25 ] add Event parser
2023-05-07 17:45:23 +03:00
Vasily Davydov
df04fc9107
shoh: rename threads according to thread-name
2023-05-07 17:45:23 +03:00
Vasily Davydov
e003820710
manager: [ #25 ] listen on master
2023-05-07 17:45:23 +03:00
Vasily Davydov
ddc9be976a
manager: [ #25 ] init simple task
2023-05-07 17:45:23 +03:00
RedHawk
c421af2f8c
main.cpp: [ #22 ] Example LCD code.
...
*Checked it - works like a charm.
2023-05-07 17:43:20 +03:00
RedHawk
6787f03f0a
LiquidCrystal.cpp: [ #22 ] Fixed the interrupt.
2023-05-07 17:42:39 +03:00
RedHawk
4532191da6
LCD:[ #22 ] rewritten delayMicroseconds().
...
* Now it uses timer peripheral with interrupt.
* It sets interrupt to trigger after certain time and waits for it to clear the "interrupt pending" flag.
2023-05-07 17:42:39 +03:00
RedHawk
01604edcfd
LpcUart:[ #22 ] Added USART0 wrapper. (LpcDebugUart)
...
* Refactored LpcUart for USART0, the handling is a bit different,
so it would have been painful to add that to LpcUart class.
* scanf() still doesn't work, but hey, we have debug prints now!
* Can't believe it actually worked.
2023-05-06 12:37:25 +03:00
RedHawk
13e392f37b
LpcUart: [ #22 ] This could have worked.
...
* It appears that LPC11u68 has ony USART0 redirected to USB as debug UART.
* The code here was written only for USART1-4.
2023-05-05 19:31:30 +03:00
RedHawk
620439fff4
LpcUart: [ #22 ] rewritten wrapper for lpc11u68.
...
* We have UART1-4 (from UARTN, UART0 handling is different.)
* Added Fmutex
* Removed movable pins.
* Disabled handshakes. (Not sure how to configure those.)
* 1 and 4, as well as 2 and 3 share their interrupts with each other. (Again, not sure how it should work.)
2023-04-28 14:32:25 +03:00
RedHawk
0c04ccf2e0
rotary:[ #9 ] small cleanup.
2023-04-27 02:08:24 +03:00
Vasily Davydov
2ed0653056
rotary:[ #9 ] process interrupts and send to master
2023-04-27 01:44:17 +03:00
Vasily Davydov
da50fa4de1
rotary:[ #9 ] enable interrupts on three pins
2023-04-27 00:47:55 +03:00
Vasily Davydov
a57f814875
digitalio: add interrupt support and append to rotary
2023-04-26 18:19:42 +03:00
Vasily Davydov
809358b341
rotary: init task [ #9 ]
2023-04-26 16:56:15 +03:00
Vasily Davydov
b8935a9bdc
eeprom: [ #22 ] remove <map> dependency
2023-04-26 16:14:42 +03:00
Vasily Davydov
1b6cbdb725
eeprom:[ #22 ] fix lib to be compatible for 11u6x
2023-04-26 16:11:18 +03:00
RedHawk
3517f171f3
shoh: Fix project includes
...
main: Remove unused variable.
2023-04-26 11:36:43 +03:00
Vasily Davydov
daec484c01
event: separate event
...
Give container-type implementation
2023-04-26 02:53:47 +03:00
Vasily Davydov
ad4a100989
thread-manager: create on heap
...
Add a simple queue-manager test
2023-04-26 01:03:40 +03:00
Vasily Davydov
4a553e3093
queue-manager: wrap send & receive
2023-04-26 00:56:18 +03:00
RedHawk
34f6b5b694
Master.cpp: Fixing uninitialised memory.
2023-04-26 00:03:13 +03:00
RedHawk
98e9e11355
QueueManager & Master: Base for queues.
2023-04-25 23:57:18 +03:00
Vasily Davydov
927409d2a8
thread-manager: create master task with manager
2023-04-25 22:47:31 +03:00
RedHawk
f85bf8ef8d
FreeRTOS: Removed FreeRTOSCPP and fixed build.
...
*Rewritten Master class to create C-style FreeRTOS task.
2023-04-24 20:49:41 +03:00
RedHawk
c5ad41556d
Master.h: Project should be buildable
2023-04-18 15:53:06 +03:00
RedHawk
99677b2bd5
Merge pull request #18 from vas-dav/thread-master
...
Create Event
2023-04-18 15:51:08 +03:00
RedHawk
48d577f8fb
I2C: Fixing pin Muxing. #15
2023-04-18 12:01:12 +03:00
RedHawk
88d68aac56
I2C: Adapted 15xx wrapper to 11u6x. #15
...
* Refactured class initialisation.
* Refactured I2C::I2CM_XferBlocking() function.
* (!Chip_I2CM_IsMasterPending(pI2C)) -> (Chip_I2CM_StateChanged(pI2C) == 0)
2023-04-16 16:00:35 +03:00
Vasily Davydov
b88a1dd2ee
threads: add Event class for master communication #6
2023-04-13 19:20:38 +03:00
RedHawk
8977eeb8f6
DigitalIoPin: Fine
2023-04-06 11:43:42 +03:00
RedHawk
c662936689
peripherals: Commented out until fixed.
...
Peripherals were following old lpc chip pinout (lpc15xx). We have different (lpc11u6x). I decided to comment them out until we figure out correct pinout. (project should always build in master)
2023-04-06 11:12:47 +03:00
RedHawk
67579db883
shoh: Fixing project includes.
2023-04-06 10:52:39 +03:00
RedHawk
409fb44d2c
Merge remote-tracking branch 'origin/task_prep'
2023-04-05 00:17:24 +03:00
Vasily Davydov
6cfe14b3fe
threads: add master skeleton
2023-04-05 00:09:58 +03:00
Vasily Davydov
0f45c4adbb
peripherals: add I2C lib [ #2 ]
2023-04-04 22:24:43 +03:00