JF
6c3f56bb59
Merge pull request #740 from Riksu9000/flashlight_brightness
...
Flashlight brightness control
2021-10-23 10:14:14 +02:00
Jean-François Milants
b3a8228899
Add mention to Call characteristic (which was missing in the doc) and change the UUID of the new Motion service from 00020000-* to 00030000-*.
2021-10-20 20:52:04 +02:00
Jean-François Milants
2c5015add7
Enable/disable notifications for motion service.
2021-10-17 08:42:49 +02:00
Jean-François Milants
60a49af886
Add MotionService : expose step count and RAW X/Y/Z values to the host.
2021-10-17 08:23:44 +02:00
Jean-François Milants
d1f50157c7
MotionService : fix typo and characteristic array size + send notification only if the host subscribed to them.
2021-10-17 08:23:01 +02:00
JF
bf83493c8d
Merge pull request #746 from Quantum-cross/recovery-fix
...
fix building of Recovery image
2021-10-16 14:11:40 +02:00
JF
8165c8676c
Merge pull request #652 from dyamon/wake-on-notification
...
Make new notifications refresh idle timer
2021-10-16 14:11:06 +02:00
JF
77e73fea32
Merge pull request #507 from Riksu9000/fit_more_tasks
...
Fit more tasks in SystemInfo
2021-10-16 14:10:09 +02:00
JF
fafb998b8c
Merge pull request #655 from NeroBurner/paddle_hor_fix
...
Paddle: compare ballX coordinate with horizontal resolution
2021-10-16 14:09:05 +02:00
mabuch
1d76d9170e
Replaced "JF002" in github URLs with "InfiniTimeOrg"
2021-10-15 18:03:10 +02:00
Quantum-cross
4a59e544ba
fix building of Recovery image.
2021-10-14 23:32:58 -04:00
Federico Igne
59ce48a3f3
Make new notifications refresh idle timer
2021-10-14 21:21:01 +01:00
Riku Isokoski
fd4fbfddb9
Flashlight brightness control
2021-10-13 13:04:40 +03:00
Reinhold Gschweicher
7cd4929bfd
Paddle: compare ballX coordinate with horizontal resolution
...
Fix the comment as the comparison checks if the ball is at the right
side of the screen.
Compare the x coordinate of the ball with the horizontal resolution of
the screen, instead of the vertical resolution. On the PinePhone this
does make no difference as we have square 240x240 screen. Change it
anyways to be completely correct.
2021-10-11 21:46:19 +02:00
Jean-François Milants
6d0e68d626
Merge branch 'update_touch_driver' of git://github.com/Riksu9000/InfiniTime into Riksu9000-update_touch_driver
...
# Conflicts:
# src/displayapp/Apps.h
2021-10-10 16:48:45 +02:00
Jean-François Milants
f2357b36e5
Setting SetDate/SetTime : replace #defines by constexpr variables, NULL by nullptr and other small cleanings.
2021-10-10 16:18:14 +02:00
Jean-François Milants
7cbd56896a
DateTimeController : remove unused methods and variables.
2021-10-10 16:08:19 +02:00
Jean-François Milants
cf9e149b33
Merge with develop and fix conflicts from timaios:set-datetime-manually.
2021-10-10 16:01:43 +02:00
Jean-François Milants
977faebcb8
Remove call to batteryController.Update();
which was replaced by batteryController.MeasureVoltage()
.
2021-10-09 21:17:59 +02:00
JF
9a831a6fe4
Merge pull request #715 from hubmartin/gpiote-fix
...
Fix GPIOTE not calling ISR when button is held during boot
2021-10-09 20:36:49 +02:00
JF
b969272c90
Merge pull request #719 from Riksu9000/improve_battery_reporting
...
Improve battery percentage calculation and reporting
2021-10-09 20:11:31 +02:00
JF
c99feeea31
Merge pull request #728 from hubmartin/charge-wake
...
Add wake-up on charge event
2021-10-09 20:04:27 +02:00
JF
0ca018b309
Merge pull request #522 from jonvmey/fix-nav-uuid-docs
...
Fix Navigation Service UUID docs
2021-10-09 19:58:24 +02:00
JF
f99f71cc6e
Merge pull request #524 from jonvmey/ble-uuid-c-casts
...
Remove unnecessary C-style casts with BLE UUIDs
2021-10-09 19:53:41 +02:00
JF
4118f97812
Merge pull request #701 from maksalees/close-info-popup-with-back-button-in-alarm
...
Alarm: Close the popup with information about the time until alarm with the back button
2021-10-09 19:50:36 +02:00
Riku Isokoski
1777b9dee8
Don't measure and notify percentage on charging event.
2021-10-09 13:39:27 +03:00
hubmartin
98e74a3217
Call also ReloadIdleTimer
2021-10-08 17:01:27 +02:00
hubmartin
fc2241fbf4
Add wake on charge event
2021-10-08 16:53:49 +02:00
Riku Isokoski
f61e88b842
Merge branch 'develop' into update_touch_driver
2021-10-05 12:45:03 +03:00
Riku Isokoski
a9f7153fdf
Improve battery percentage calculation and reporting
...
While charging, percentage should only go up, and while discharging,
percentage should only go down.
2021-10-04 01:41:38 +03:00
hubmartin
9ef1babb9d
Code cleanup
2021-10-03 17:03:08 +02:00
hubmartin
f5725714d1
Call battery controller update
2021-10-03 17:00:38 +02:00
hubmartin
2aebbe3f47
GPIOTE fix of button and power detection experiment
2021-10-03 16:47:01 +02:00
JF
b84a546920
Merge pull request #623 from Riksu9000/lvgl_queuetimeout
...
Let LVGL control queueTimeout
2021-10-03 16:20:20 +02:00
JF
fa6c291d3e
Merge pull request #638 from Riksu9000/detect_full_charge
...
Detect full charge and improve watchface battery display
2021-10-03 16:13:39 +02:00
JF
3442085a3c
Merge pull request #692 from danielgjackson/fix-fs-size
...
Fix the size of the filesystem.
2021-10-03 16:06:30 +02:00
Tim Keller
dafdf33062
Remove static declartion on batteryValue preventing read attribute from updating.
2021-10-02 03:22:12 +00:00
Maxim Leshchenko
05f8850acf
Fixes based on code reviews
2021-09-29 19:15:48 +03:00
Maxim Leshchenko
d86ae69961
Alarm: Close the popup with information about the time until alarm with the back button
...
Previously, pressing the back button would close the alarm app anyway. Now if you press on it and the popup with information is open, it will first close and the second press will close the application
2021-09-28 22:50:09 +03:00
Daniel Jackson
7ba00b0157
Fix the size of the filesystem.
...
Correct typo: 0x400000 - 0x0B4000 = 0x34C000.
2021-09-27 02:42:53 +01:00
Daniel Jackson
d7ca217872
Correctly return the tick at which the RF will be fully enabled.
...
Always returning 0 (when `MYNEWT_VAL_BLE_LL_RFMGMT_ENABLE_TIME` is not defined), rather than a time near to the current tick, causes an issue in at least one place: `ble_ll_adv_sm_start()`, where the calculation of `delta` overflows when the system timer is at 0x80000000 or above -- causing an incorrect, huge adjustment to be made to the scheduled time, ultimately stopping adverts from being sent.
2021-09-25 23:48:53 +01:00
JF002
8a2b86dc83
Merge pull request #664 from Riksu9000/disable_notif_only
...
Toggle notifications only, keep vibrations.
2021-09-23 20:13:42 +02:00
Riku Isokoski
980ac17388
Show plug icon while plugged in
2021-09-22 13:58:45 +03:00
Riku Isokoski
b210090837
Merge branch 'develop' into detect_full_charge
2021-09-22 12:03:41 +03:00
Riku Isokoski
d7dfe5d4ed
Remove unused variable
2021-09-21 15:36:31 +03:00
Jean-François Milants
1c3c3c8db9
Merge branch 'develop' of github.com:JF002/Pinetime into develop
2021-09-19 17:43:28 +02:00
Jean-François Milants
f3b5da0049
Fix the display of the date after a reset : when the date/time was restored from the noinit area, the date was displayed as "--" instead of the actual date.
...
This issue was caused by DateTime::SetCurrentTime() that would not update the internal state of the class : dayOfWeek, Month, Year were not properly updated according to the current time.
2021-09-19 17:42:50 +02:00
JF002
52eb94cfc4
Merge pull request #669 from NeroBurner/fix_unsigned_comparison_warning_metronome
...
Fix unsigned/signed comparison warning in Metronome.cpp
2021-09-18 20:33:45 +02:00
Riku Isokoski
e468acc99e
Merge branch 'develop' into update_touch_driver
2021-09-18 19:22:59 +03:00
Jean-François Milants
f556003de3
Merge branch 'PersistantStorage' of git://github.com/geekbozu/InfiniTime into geekbozu-PersistantStorage
...
# Conflicts:
# src/systemtask/SystemTask.cpp
2021-09-18 17:37:37 +02:00
Jean-François Milants
7af7db74cd
Fix DisplayAppRecovery : add AlarmController to ctor().
2021-09-18 17:20:33 +02:00
Mark Russell
b9e56843a2
resolve conflict in src/systemtask/Messages.h
2021-09-16 16:20:39 -04:00
Mark Russell
cdf99b08f4
Revert "Merge upstream"
...
This reverts commit 1d43adcdfa
.
2021-09-16 16:12:20 -04:00
hubmartin
27366bdfdf
Merge branch 'develop' into wake-time
2021-09-16 22:04:31 +02:00
Mark Russell
1d43adcdfa
Merge upstream
2021-09-16 16:01:25 -04:00
Mark Russell
f857a757a7
Fixes per Riksu9000's feedback
2021-09-16 15:38:31 -04:00
Reinhold Gschweicher
63477fc096
Fix unsigned/signed comparison warning in Metronome.cpp
...
`xTaskGetTickCount()` returns a `TickType_t`, which is defined as an
`uint32_t`. This is compared to the `bpm` variable, which is a `int16_t`
in the range of 40 to 220 as defined in the constructor.
```cpp
lv_arc_set_range(bpmArc, 40, 220);
```
Just assume that `bpm` is greater than 0, as this
would result in a divison by zero or negative values, which would
unintentionally underflow to a very large number.
2021-09-16 10:47:09 +02:00
Riku Isokoski
8f0771183c
Fix Error screen and optimize GetTouchInfo
2021-09-15 12:25:41 +03:00
Riku Isokoski
93d240a23b
Merge branch 'develop' into disable_notif_only
2021-09-14 23:38:42 +03:00
Riku Isokoski
f221f5d744
Merge branch 'develop' into update_touch_driver
2021-09-14 15:34:09 +03:00
Reinhold Gschweicher
f89780f332
Remove unused include in MotoController.h
...
Remove the unused include `app_timer.h` in `MotorController.h`
2021-09-13 22:40:15 +02:00
Mark Russell
2bf339a3f8
License header fix, add missing braces
2021-09-13 16:05:35 -04:00
Mark Russell
bfe13d9d68
Fixes based on code reviews (formatting, UI code)
2021-09-13 15:26:28 -04:00
Jean-François Milants
6356c7f276
Fix DisplayAppRecovery : fix include error by forward declaring Controllers in header file.
2021-09-13 20:35:51 +02:00
Riku Isokoski
40765f1173
Merge branch 'develop' into disable_notif_only
2021-09-13 21:22:53 +03:00
Jean-François Milants
9afa412a2a
Merge branch 'refactor_adv' of https://github.com/evergreen22/InfiniTime into evergreen22-refactor_adv
...
# Conflicts:
# src/components/ble/NimbleController.cpp
2021-09-13 20:22:27 +02:00
JF002
b0bdd2be1c
Merge pull request #549 from hubmartin/pinmap
...
Put all duplicated GPIO pin definitions to a single file
2021-09-13 20:05:43 +02:00
Tim Gates
84a93b5441
docs: Fix a few typos ( #606 )
...
* docs: Fix a few typos
There are small typos in:
- doc/versioning.md
- src/components/ble/NimbleController.cpp
- src/libs/mynewt-nimble/CODING_STANDARDS.md
- src/libs/mynewt-nimble/docs/btshell/btshell_GAP.rst
- src/systemtask/SystemTask.cpp
Fixes:
- Should read `milliseconds` rather than `miliseconds`.
- Should read `unnecessary` rather than `uncesseray`.
- Should read `target` rather than `tharget`.
- Should read `project` rather than `projct`.
- Should read `preferred` rather than `prefered`.
- Should read `functioning` rather than `functionning`.
- Should read `forever` rather than `forver`.
- Should read `existing` rather than `exisiting`.
2021-09-13 20:02:53 +02:00
hubmartin
73d3e41cea
Merge branch 'develop' into pinmap
2021-09-13 10:19:07 +02:00
JF002
c9aeef94ea
Merge pull request #617 from ColinKinloch/wake_up_mode_setting_change
...
Correct change test for wake up mode setting
2021-09-12 18:41:26 +02:00
JF002
8728ac2f6a
Merge pull request #602 from Riksu9000/del_unused
...
Remove unused variables
2021-09-12 18:34:11 +02:00
JF002
f0329298ac
Merge pull request #580 from Riksu9000/timer_battery_reading
...
Make battery reading periodic
2021-09-12 18:22:04 +02:00
Riku Isokoski
3ee4876214
Toggle notifications only, keep vibrations.
2021-09-12 11:08:25 +03:00
Mark Russell
1fb5757655
Created basic alarm app
2021-09-10 18:40:13 -04:00
James A. Jerkins
22571d4b38
Advertise fast for at least 30 secs then slow down
...
On power up, advertise aggressively for at least 30 seconds then switch
to a longer interval to conserve battery life. This fast/slow pattern
is designed to balance connection response time and battery life.
When a disconnect event is received restart the fast/slow pattern.
When a failed connect event is received, restart the fast/slow pattern.
When the screen is activated and ble is not connected, restart the fast/slow pattern.
This pattern is consistent with Apple's BLE developer standards (QA 1931).
2021-09-05 15:53:20 -05:00
James A. Jerkins
4820b2ffe8
Revert "Linear decrease of advert rate to conserve battery"
...
This reverts commit c32ba844e0
.
2021-09-05 15:52:01 -05:00
James A. Jerkins
c32ba844e0
Linear decrease of advert rate to conserve battery
...
Start advertising aggressively when powered on then
slow down linearly over 75 seconds. This will conserve
battery by not advertising rapidly the whole time we
are seeking a connection. The slowest rate is
approximately once every 4.5 seconds to balance
responsiveness and battery life.
We use a fixed advertising duration of 5 seconds and start
with a 62.5 ms advertising interval. Every 5 seconds
(the advertising duration) we step up to a larger
advertising interval (slower advertising). We continue
to increase the advertising interval linearly for
75 seconds from the start of advertising. At 75 seconds
we have an advertising interval of 4.44 seconds which we
keep until connected. A reboot will restart the sequence.
When we receive a disconnect event we restart the sequence
with fast advertising and then slow down as described above.
Note that we are not using the BLE high duty cycle setting to
change the advertising rate. The rate is managed by repeatedly
setting the minimum and maximum intervals.
The linear rate of decrease and the slowest interval size
were determined experimentally by the author. The 5.3 Core
spec suggests that you not advertise slower than once
every 1.2 seconds to preserve responsiveness but we
ignored that suggestion.
2021-09-04 15:57:07 -05:00
Riku Isokoski
b31b2425f8
Use percentage instead of IsFull
2021-09-03 16:57:00 +03:00
Riku Isokoski
ac2ccaeff6
Auto realign battery icon in Analog watch face
2021-09-03 14:57:07 +03:00
Riku Isokoski
fd52ca8fe6
Detect full charge and improve watchface display
2021-09-03 14:35:38 +03:00
Tim Keller
28fdc376b2
Add some comments
2021-09-02 23:01:12 +00:00
Itai Nelken
bd1a571399
Update Settings.cpp
2021-09-02 23:20:25 +03:00
James A. Jerkins
3e1fe687b8
Fix styles issues - no change to functionality
2021-09-01 22:50:56 -05:00
James A. Jerkins
d69a8e84fa
Fix race condition, connect->disconnect->discovery
2021-09-01 22:48:01 -05:00
Jean-François Milants
1635bfafb3
Fix notifications that wouldn't auto close when the timeout elapsed (in preview mode).
2021-08-31 21:56:21 +02:00
James A. Jerkins
00a3f84ea7
Completely reset connection state on fail
2021-08-30 23:17:16 -05:00
Riku Isokoski
21d37d1e23
Merge remote-tracking branch 'upstream/develop' into timer_battery_reading
2021-08-30 10:15:19 +03:00
James A. Jerkins
be31f417db
WIP Refactor ble advertising
...
Refactor ble advertising based on ble standards and conventions.
Changes are based on the bleprph example code, bluetooth docs, and nimble docs.
2021-08-29 15:50:04 -05:00
hubmartin
8390d0ef72
Merge branch 'develop' into pinmap
2021-08-29 11:43:50 +02:00
Riku Isokoski
e57ff28231
Let lvgl control queueTimeout
2021-08-29 12:40:48 +03:00
Jean-François Milants
6c023785e5
Fix wake on tap/double tap.
2021-08-28 21:30:31 +02:00
Jean-François Milants
31bc47d1cb
Settings : use enums instead of ints to store colors. Group all PTS settings into a struct.
...
PTS/SettingsPTS : Convert to/from LVGL color and Settings::Color, add functions to reduce code duplication.
Adapt SettingPineTimeStyle with the last Screen Interface
2021-08-28 21:02:11 +02:00
JF002
ef9f809e14
Merge pull request #458 from kieranc/pinetimestyle-colorpicker
...
Add color picker for PineTimeStyle watchface
2021-08-28 20:56:34 +02:00
Riku Isokoski
c2fae47391
Merge branch 'develop' into refresh_rework
2021-08-28 17:25:50 +03:00
Riku Isokoski
d2d97319e0
Merge branch 'develop' into update_touch_driver
2021-08-28 17:19:49 +03:00
Riku Isokoski
c78177eedf
Merge branch 'develop' into fit_more_tasks
2021-08-28 17:10:01 +03:00
Riku Isokoski
085c9ab2e1
Merge branch 'develop' into timer_battery_reading
2021-08-28 16:54:40 +03:00
Jean-François Milants
fab49f8557
Fix recovery firmware since last changes in DisplayApp.
2021-08-28 15:23:13 +02:00
Jean-François Milants
0313277ae6
Fix touchinfo typo in SystemTask.
2021-08-28 15:10:14 +02:00
Jean-François Milants
45e7638fc2
Merge branch 'twimaster_rework' of https://github.com/Riksu9000/InfiniTime into Riksu9000-twimaster_rework
...
# Conflicts:
# src/systemtask/SystemTask.cpp
2021-08-28 15:08:50 +02:00
Colin Kinloch
b45d7c372d
Correct change test for wake up mode setting
2021-08-26 19:42:02 +01:00
hubmartin
db50131ed4
Remove commented commands completely
2021-08-23 15:02:40 +02:00
hubmartin
d832a6c908
Merge branch 'develop' into wake-time
2021-08-23 15:00:56 +02:00
hubmartin
51c5257548
Update startup SCL toggling pinmap definitions
2021-08-22 22:17:57 +02:00
hubmartin
2a299fe275
Merge branch 'develop' into pinmap
2021-08-22 22:11:57 +02:00
Kieran Cawthray
8ac1ae70cc
Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker
2021-08-19 15:14:04 +02:00
Riku Isokoski
2b30ff4fc6
Remove unused variables
2021-08-19 11:12:34 +03:00
Tim Keller
4f6d7e2c63
Move Backup to the system task.
2021-08-19 00:51:12 +00:00
Tim Keller
2dd7b8ba2c
Add clearing of noinit segment on bad word
...
Code readability cleanup
2021-08-19 00:44:22 +00:00
Riku Isokoski
85c99797da
Merge branch 'develop' into new_touch_handler
2021-08-18 22:07:02 +03:00
Riku Isokoski
40392d7b91
Use highest frequency and move mutex creation to Init
2021-08-18 21:40:27 +03:00
hubmartin
df8ea7fe52
Add memory print usage
2021-08-18 20:21:10 +02:00
Riku Isokoski
b91100573e
Fix music app buttons
2021-08-18 20:19:02 +02:00
Riku Isokoski
780a811f05
Automatic error detection
2021-08-18 15:23:30 +03:00
Tim Keller
55f8908769
Make Clock Persistant.
2021-08-17 23:53:57 +00:00
Riku Isokoski
9c175e2f0c
Fix after merge
2021-08-17 16:01:18 +03:00
Riku Isokoski
5b969ccfa9
Merge branch 'develop' into update_touch_driver
2021-08-17 15:35:29 +03:00
Riku Isokoski
81a36dc31e
Simplify parameters and cleanup
2021-08-16 18:26:10 +03:00
Kieran Cawthray
30b32e4c8a
Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker
2021-08-15 17:50:56 +02:00
hubmartin
099364e619
Remove LCD reset and more cmds, save over 200ms
2021-08-15 16:48:41 +02:00
hubmartin
faed0d4900
Remove unnecessary pin_set, save 50ms
2021-08-15 16:47:41 +02:00
Kieran Cawthray
9851ed33d8
Fix potential edge case of sidebar being set black
2021-08-15 15:28:40 +02:00
Kieran Cawthray
639fd3a9bd
More tidying following review
2021-08-15 15:00:54 +02:00
Kieran Cawthray
5789f1527c
Avoid setting the sidebar black
2021-08-15 14:42:30 +02:00
Kieran Cawthray
16ea069d55
Remove duplicate code, minor fixes
2021-08-15 14:05:21 +02:00
Riku Isokoski
3cef05b745
Merge branch 'develop' into refresh_rework
2021-08-15 13:35:15 +03:00
Kieran Cawthray
c0bb88799c
Add check for randomise button in case colors clash
2021-08-15 12:33:32 +02:00
Riku Isokoski
ee44b6ff49
Adjust inner padding in applist
2021-08-15 11:19:47 +02:00
Riku Isokoski
bc82905371
Clean up using variables
2021-08-15 11:19:47 +02:00
Riku Isokoski
637ed8033b
Adjust previously missed scrollbar and firmware validation buttons
2021-08-15 11:19:47 +02:00
Riku Isokoski
e0d01411d7
Ui update
2021-08-15 11:19:47 +02:00
Kieran Cawthray
477ff32edc
Add randomise button to color picker
2021-08-15 10:41:00 +02:00
Riku Isokoski
044036e884
Merge branch 'develop' into timer_battery_reading
2021-08-14 23:02:23 +03:00
Jean-François Milants
0eeed5ac33
Merge branch 'call-improvements' of https://github.com/Riksu9000/InfiniTime into Riksu9000-call-improvements
...
# Conflicts:
# src/displayapp/screens/Metronome.cpp
2021-08-14 21:54:00 +02:00
Riku Isokoski
c3d8ee14fe
Merge branch 'develop' into refresh_rework
2021-08-14 22:53:35 +03:00
Riku Isokoski
6192775161
Improve metronome
2021-08-14 21:08:42 +02:00
Riku Isokoski
7c28de0b6f
Set pin before loop
2021-08-14 21:00:33 +02:00
Riku Isokoski
10f610b219
Better pin configuration
2021-08-14 21:00:33 +02:00
Riku Isokoski
e51c3eee4e
Try to fix bootloop
2021-08-14 21:00:33 +02:00
Riku Isokoski
23bde0d18e
Make battery reading periodic. Add events. Disable pullup
2021-08-14 21:18:11 +03:00
Kieran Cawthray
6bffc7d528
Tidying
2021-08-12 21:28:41 +02:00
Kieran Cawthray
52ee25e551
Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker
2021-08-12 21:26:51 +02:00
Riku Isokoski
1d341a7aeb
Don't reconfigure pins
2021-08-12 14:06:58 +03:00
hubmartin
0d083a2bea
Merge branch 'develop' into pinmap
2021-08-11 22:00:55 +02:00
Riku Isokoski
fe33c756b7
Fix longpress gesture
2021-08-11 18:31:40 +03:00
Riku Isokoski
cd7ca458fa
Remove leftover
2021-08-10 22:37:41 +03:00
Riku Isokoski
6776776421
Make diff smaller and revert some changes in DisplayApp
2021-08-10 22:18:21 +03:00
Riku Isokoski
8a694adb09
Rework TouchHandler into not a task
2021-08-10 22:03:34 +03:00
Riku Isokoski
7e92577c14
Revert "Merge branch 'unblock_i2c' into develop"
...
This reverts commit 275a84b323
, reversing
changes made to 9fb3755088
.
2021-08-10 21:02:51 +03:00
Riku Isokoski
f1346f098e
Merge branch 'develop' into new_touch_handler
2021-08-10 20:58:42 +03:00