Commit Graph
9 Commits
Author SHA1 Message Date
lejeune quentin 2be28bfbde [IMP] hw_drivers: Map drivers actions
Add possibilities to map actions for the drivers

To avoid a sequence of "if elif else" we integrate a '_actions()' dictionary
where the key is the name of the action and the value is
the name of the function to be executed in the drivers
with the action data as a parameter

closes odoo/odoo#63375

Related: odoo/enterprise#15310
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2020-12-16 15:52:34 +00:00
Antoine Prieels 07a495d52c [IMP] hw_drivers: Support for Star receipt printers
Add support for Star Line Mode protocol, used by most Star receipt
printers.

closes odoo/odoo#60371

Taskid: 2365648
X-original-commit: cd0545b98fc1e7a66dd46eb6a283736ef58ac4ff
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
2020-10-20 13:15:34 +00:00
Antoine Prieels 8a0e1a3f01 [FIX] hw_drivers: Long receipts make receipt printer crash
When printing a long receipt from the POS, the printer crashed, printed
random characters and needed to be rebooted to print other receipts.

The problem was that there's a limitation of height when printing
images with ESC/POS (see [ESC/POS documentation](http://www.starmicronics.com/support/mannualfolder/escpos_cm_en.pdf), page 158).

We then split the image into slices and print slices with separate
commands.

closes odoo/odoo#57512

X-original-commit: ab06df30557af90f3e704d4cfc1e6da66f7708b7
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
2020-09-11 11:10:00 +00:00
Antoine Prieels 72681dc53f [IMP] hw_*,point_of_sale: Cleaning IoT Box
- Split driver.py to multiple files
- Remove hw_proxy module as most of its routes were not used and
  move remaingin routes to a controller in hw_drivers
- Add missing coding and license lines at the beginning of files
- Reorder imports and remove unused ones
- Rename device_id to device_identifier for clarity
- Rename screen to display for consistency
- Other minors improvements

Taskid: 1973956
X-original-commit: 841c016913a87133bf7257c62ae5f6bf7d99e06d
2020-08-25 11:24:56 +00:00
lejeune quentin e694d7f03e [FIX] iot: Add new protocol to detect Zebra pinter
Some network Zebra printer are not detected because
the protocol 'socket' is not supported.

Now we add this protocol in the 'supported' function

closes odoo/odoo#56146

X-original-commit: f7fa40bdbbd765caf8fe528fff949b4dccf3d8c2
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2020-08-19 13:41:10 +00:00
Antoine Prieels 852594473d [IMP] hw_drivers: IoT Box Connection
IoT Boxes that load the drivers from this version will always
use images that have the ConnectionManager.
The `try...excpect` is therefore not needed anymore.

closes odoo/odoo#50396

Taskid: 2246535
Related: odoo/upgrade#1407
Related: odoo/enterprise#10285
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2020-06-25 09:01:07 +00:00
Antoine Prieels c5e1af7a35 [FIX] hw_drivers: IoT Box connection
In Chrome 84, mixed content will be completely blocked for security
reasons ([see blog](https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html))
Other browsers will probably follow in the next months.

As IoT Boxes don't have a valid certificate before connecting to a DB,
we used mixed passive content to communicate with the boxes.
This won't be possible anymore, and we have no possible way to
communicate directly from the browser to the box.

- When an IoT Box boots without registered DB, a unique code will be
 created with a validity of 5 minutes.
- This code will be shown on the customer display and printed on the
 status ticket.
- The box will call a route on odoo.com and a record will be created
 in odoo.com with the unique code.
- The user will have to enter the code manually in his DB to connect
 to the IoT Box, the DB will then contact odoo.com to search for a
 record containing the unique code. If it's found, the
 `openerp.enterprise.database` will be added to the record.
- The box will then query odoo.com at regular intervals (10 seconds)
 to check if a DB is linked to the code.

closes odoo/odoo#53623

Taskid: 2246535
X-original-commit: c55f12e32598a713105f3c049ac053e46ba15bb2
Related: odoo/enterprise#11421
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2020-06-25 06:08:33 +00:00
lejeune quentin 7686e1bced [IMP] hw_drivers: Add possibility to add manually a printer to the IoT Box
The IoT Box detects printers automatically under certain conditions.
And so there are printers that are not detected by the box
and cannot be used in Odoo.
With this commit we give the possibility to add printers manually
with Cups and to be able to use them in Odoo.

closes odoo/odoo#52154

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2020-06-12 08:14:58 +00:00
Antoine Prieels e1c52c936d [IMP] hw_drivers: Easier detection of new devices
Until now, to detect new types of devices on the IoT Box, we had to
modify driver.py. If partners wanted to connect a new type of device,
they had to modify directly the files on the Box, meaning that after
each new build they had to re-apply all their modifications.

We remove the loops that detected the connected devices and replace
them by `Interfaces`. All interfaces will be loaded from the connected
Odoo instance with the corresponding drivers.

TaskID: 2082282
2020-05-13 13:26:05 +00:00