Skip to content

Commit

Permalink
add log plotter cli utility
Browse files Browse the repository at this point in the history
  • Loading branch information
nkraetzschmar committed Feb 13, 2024
1 parent a65c770 commit 88f8fdf
Show file tree
Hide file tree
Showing 4 changed files with 4,734 additions and 2 deletions.
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,20 @@
> [!WARNING]
> This library is in very early development, use at your own risk.
libikawa is an open-source library that implements the communication protocol of the [Ikawa Home roaster](https://ikawahome.com/). Aimed at enabling developers and coffee enthusiasts alike to create custom tools and interfaces, this project offers the foundation for both extending and replacing the standard app-based interactions with the Ikawa Home roaster.
*libikawa* is an open-source library that implements the communication protocol of the [Ikawa Home roaster](https://ikawahome.com/). Aimed at enabling developers and coffee enthusiasts alike to create custom tools and interfaces, this project offers the foundation for both extending and replacing the standard app-based interactions with the Ikawa Home roaster.

## Usage

Refer to the [example code](example.py) for a basic guide on how to integrate and use libIkawa within your projects. This sample illustrates the fundamental steps to communicate with the Ikawa Home, leveraging the library's capabilities.[^1]

The library also comes with a basic PoC [CLI tool](cli.py) to control the roaster.
The library also comes with a basic PoC [CLI tool](cli.py) to control the roaster and a [Plotting tool](plot_log.py) to visually display the logs generated by the CLI when running `./cli.py log`.

### Example plot

> [!NOTE]
> This plot combines measurements from the Ikawa Home with additional measurments from a custom build [ESP32-C3 PT1000 BLE temperature probe](https://github.com/nkraetzschmar/esp32-c3-pt1000).
![](example_plot.svg)

## Technical Details

Expand Down
2 changes: 2 additions & 0 deletions cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ def profile(ctx, profile_url, file_path, send, no_confirm, quiet):
print(profile)
if no_confirm or click.confirm('Send this profile to the roaster?', default=False):
asyncio.run(set_profile(profile, ctx.obj["log_level"]))
else:
exit(1)
else:
if not profile:
profile = asyncio.run(get_profile(ctx.obj["log_level"]))
Expand Down
Loading

0 comments on commit 88f8fdf

Please sign in to comment.