folder rename
This commit is contained in:
45
fusion_plating/fusion_plating_process_en/README.md
Normal file
45
fusion_plating/fusion_plating_process_en/README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Fusion Plating — Electroless Nickel Process Pack
|
||||
|
||||
Part of the Fusion Plating product family by Nexa Systems Inc.
|
||||
|
||||
Data-only Odoo 19 module that seeds electroless nickel (EN) plating process
|
||||
types and bath chemistry parameter schemas into the `fusion_plating` core.
|
||||
|
||||
## What ships
|
||||
|
||||
### Process types (`fusion.plating.process.type`)
|
||||
| Code | Name | Notes |
|
||||
|---|---|---|
|
||||
| `EN_LP` | Electroless Nickel — Low Phosphorus (2–5% P) | Highest hardness/wear, magnetic |
|
||||
| `EN_MP` | Electroless Nickel — Mid Phosphorus (6–9% P) | Workhorse EN, AMS 2404 class 4 |
|
||||
| `EN_HP` | Electroless Nickel — High Phosphorus (10–13% P) | Max corrosion, non-magnetic |
|
||||
| `EN_PTFE` | Electroless Nickel — PTFE Composite | Self-lubricating |
|
||||
| `EN_BNI` | Electroless Nickel — Boron Nickel | High hardness + conductivity |
|
||||
| `EN_STRIKE` | Nickel Strike | Pre-plate adhesion layer |
|
||||
|
||||
### Bath parameters (`fusion.plating.bath.parameter`)
|
||||
Nickel concentration, sodium hypophosphite, orthophosphite (HPO3), pH, bath
|
||||
temperature, metal turnovers (MTO), bath loading (dm²/L), and stabilizer.
|
||||
|
||||
Every EN process type shares the same parameter set. Per-bath target
|
||||
overrides are made on the bath or recipe record in the core module.
|
||||
|
||||
## Hazard awareness
|
||||
|
||||
Every process type carries `hazard_notes` flagging WHMIS 2015 Category 1A
|
||||
status of nickel compounds, CEPA Schedule 1 listing, hypophosphite
|
||||
reducer/oxidizer risks, scald PPE at 85–92 °C, Ontario Reg. 833 air
|
||||
monitoring, and NPRI Part 1A reporting.
|
||||
|
||||
## Install
|
||||
|
||||
Requires `fusion_plating` core. No new models, views, or security rules —
|
||||
pure data pack loaded with `noupdate="1"` so customizations survive upgrades.
|
||||
|
||||
```bash
|
||||
docker exec odoo-dev-app odoo -d fusion-dev -u fusion_plating_process_en --stop-after-init
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
OPL-1 (Odoo Proprietary License v1.0). Copyright (c) 2026 Nexa Systems Inc.
|
||||
1
fusion_plating/fusion_plating_process_en/__init__.py
Normal file
1
fusion_plating/fusion_plating_process_en/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
# Part of the Fusion Plating product family. Data-only module — no Python imports.
|
||||
70
fusion_plating/fusion_plating_process_en/__manifest__.py
Normal file
70
fusion_plating/fusion_plating_process_en/__manifest__.py
Normal file
@@ -0,0 +1,70 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
# Part of the Fusion Plating product family.
|
||||
|
||||
{
|
||||
'name': 'Fusion Plating — Electroless Nickel Process Pack',
|
||||
'version': '19.0.1.0.0',
|
||||
'category': 'Manufacturing/Plating',
|
||||
'summary': 'Electroless nickel plating process types (low/mid/high phosphorus, PTFE composite, Ni-B, strike) with bath parameter schemas.',
|
||||
'description': """
|
||||
Fusion Plating — Electroless Nickel Process Pack
|
||||
=================================================
|
||||
|
||||
Part of the Fusion Plating product family by Nexa Systems Inc.
|
||||
|
||||
This data-only module plugs into the ``fusion_plating`` core and seeds the
|
||||
process taxonomy and bath chemistry schemas specific to electroless nickel
|
||||
(EN) plating. No new models, no new views — just records loaded with
|
||||
``noupdate="1"`` so downstream customizations survive upgrades.
|
||||
|
||||
Process types shipped
|
||||
---------------------
|
||||
* Electroless Nickel — Low Phosphorus (2–5% P)
|
||||
* Electroless Nickel — Mid Phosphorus (6–9% P)
|
||||
* Electroless Nickel — High Phosphorus (10–13% P)
|
||||
* Electroless Nickel — PTFE Composite
|
||||
* Electroless Nickel — Boron Nickel (Ni-B)
|
||||
* Nickel Strike
|
||||
|
||||
Bath parameters shipped
|
||||
-----------------------
|
||||
Nickel concentration, sodium hypophosphite, orthophosphite (HPO3),
|
||||
pH, temperature, metal turnovers (MTO), bath loading, and stabilizer.
|
||||
Every EN process type shares this same parameter schema; per-bath
|
||||
target overrides happen on the bath or recipe record in the core.
|
||||
|
||||
Hazard awareness
|
||||
----------------
|
||||
Every process type carries ``hazard_notes`` that flag:
|
||||
|
||||
* WHMIS 2015 Category 1A respiratory sensitizer / suspected carcinogen
|
||||
status of nickel compounds.
|
||||
* CEPA Schedule 1 toxic-substance listing for oxidic, sulphidic and
|
||||
soluble inorganic nickel compounds.
|
||||
* Reducing-agent / explosion risk from hypophosphite around oxidizers.
|
||||
* Scald PPE requirement at 85–92°C operating temperature.
|
||||
* Ontario Reg. 833 air-monitoring and NPRI Part 1A reporting triggers.
|
||||
|
||||
Install this module after ``fusion_plating``. It depends only on the core
|
||||
module and ships no security rules or views of its own.
|
||||
|
||||
Copyright (c) 2026 Nexa Systems Inc. All rights reserved.
|
||||
""",
|
||||
'author': 'Nexa Systems Inc.',
|
||||
'website': 'https://www.nexasystems.ca',
|
||||
'maintainer': 'Nexa Systems Inc.',
|
||||
'support': 'support@nexasystems.ca',
|
||||
'license': 'OPL-1',
|
||||
'price': 0.00,
|
||||
'currency': 'CAD',
|
||||
'depends': ['fusion_plating'],
|
||||
'data': [
|
||||
'data/fp_bath_parameter_data.xml',
|
||||
'data/fp_process_type_data.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'application': False,
|
||||
'auto_install': False,
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2026 Nexa Systems Inc.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
|
||||
Bath chemistry parameter schemas for electroless nickel plating.
|
||||
Default target ranges reflect typical mid-phosphorus operating
|
||||
windows; per-bath overrides are made on fusion.plating.bath.
|
||||
-->
|
||||
<odoo noupdate="1">
|
||||
|
||||
<record id="param_en_ni" model="fusion.plating.bath.parameter">
|
||||
<field name="name">Nickel Concentration</field>
|
||||
<field name="code">EN_NI</field>
|
||||
<field name="sequence">10</field>
|
||||
<field name="parameter_type">concentration</field>
|
||||
<field name="uom">g/L</field>
|
||||
<field name="target_min">5.5</field>
|
||||
<field name="target_max">6.5</field>
|
||||
<field name="warning_tolerance">5.0</field>
|
||||
<field name="decimals">2</field>
|
||||
<field name="description">Metallic nickel ion concentration. Replenished continuously.</field>
|
||||
</record>
|
||||
|
||||
<record id="param_en_hypo" model="fusion.plating.bath.parameter">
|
||||
<field name="name">Sodium Hypophosphite</field>
|
||||
<field name="code">EN_HYPO</field>
|
||||
<field name="sequence">20</field>
|
||||
<field name="parameter_type">concentration</field>
|
||||
<field name="uom">g/L</field>
|
||||
<field name="target_min">25.0</field>
|
||||
<field name="target_max">30.0</field>
|
||||
<field name="warning_tolerance">5.0</field>
|
||||
<field name="decimals">2</field>
|
||||
<field name="description">Reducing agent. Consumed during deposition.</field>
|
||||
</record>
|
||||
|
||||
<record id="param_en_ortho" model="fusion.plating.bath.parameter">
|
||||
<field name="name">Orthophosphite (HPO3)</field>
|
||||
<field name="code">EN_ORTHO</field>
|
||||
<field name="sequence">30</field>
|
||||
<field name="parameter_type">concentration</field>
|
||||
<field name="uom">g/L</field>
|
||||
<field name="target_min">0.0</field>
|
||||
<field name="target_max">200.0</field>
|
||||
<field name="warning_tolerance">10.0</field>
|
||||
<field name="decimals">1</field>
|
||||
<field name="description">By-product that accumulates with MTO; drives P-content and eventual bath dump.</field>
|
||||
</record>
|
||||
|
||||
<record id="param_en_ph" model="fusion.plating.bath.parameter">
|
||||
<field name="name">pH</field>
|
||||
<field name="code">EN_PH</field>
|
||||
<field name="sequence">40</field>
|
||||
<field name="parameter_type">ph</field>
|
||||
<field name="uom">pH</field>
|
||||
<field name="target_min">4.5</field>
|
||||
<field name="target_max">5.2</field>
|
||||
<field name="warning_tolerance">5.0</field>
|
||||
<field name="decimals">2</field>
|
||||
<field name="description">Acidic bath. pH controls deposition rate and phosphorus content.</field>
|
||||
</record>
|
||||
|
||||
<record id="param_en_temp" model="fusion.plating.bath.parameter">
|
||||
<field name="name">Bath Temperature</field>
|
||||
<field name="code">EN_TEMP</field>
|
||||
<field name="sequence">50</field>
|
||||
<field name="parameter_type">temperature</field>
|
||||
<field name="uom">°C</field>
|
||||
<field name="target_min">85.0</field>
|
||||
<field name="target_max">92.0</field>
|
||||
<field name="warning_tolerance">3.0</field>
|
||||
<field name="decimals">1</field>
|
||||
<field name="description">Critical for deposition rate. Too low = no plating; too high = instability.</field>
|
||||
</record>
|
||||
|
||||
<record id="param_en_mto" model="fusion.plating.bath.parameter">
|
||||
<field name="name">Metal Turnovers</field>
|
||||
<field name="code">EN_MTO</field>
|
||||
<field name="sequence">60</field>
|
||||
<field name="parameter_type">count</field>
|
||||
<field name="uom">MTO</field>
|
||||
<field name="target_min">0.0</field>
|
||||
<field name="target_max">8.0</field>
|
||||
<field name="warning_tolerance">0.0</field>
|
||||
<field name="decimals">2</field>
|
||||
<field name="description">Bath age. Typical dump at 6-8 MTO for mid-phos; sooner for high-phos.</field>
|
||||
</record>
|
||||
|
||||
<record id="param_en_load" model="fusion.plating.bath.parameter">
|
||||
<field name="name">Bath Loading</field>
|
||||
<field name="code">EN_LOAD</field>
|
||||
<field name="sequence">70</field>
|
||||
<field name="parameter_type">ratio</field>
|
||||
<field name="uom">dm²/L</field>
|
||||
<field name="target_min">0.5</field>
|
||||
<field name="target_max">1.5</field>
|
||||
<field name="warning_tolerance">10.0</field>
|
||||
<field name="decimals">2</field>
|
||||
<field name="description">Ratio of plating area to bath volume. Affects deposition and stability.</field>
|
||||
</record>
|
||||
|
||||
<record id="param_en_stab" model="fusion.plating.bath.parameter">
|
||||
<field name="name">Stabilizer</field>
|
||||
<field name="code">EN_STAB</field>
|
||||
<field name="sequence">80</field>
|
||||
<field name="parameter_type">concentration</field>
|
||||
<field name="uom">ppm</field>
|
||||
<field name="target_min">1.0</field>
|
||||
<field name="target_max">5.0</field>
|
||||
<field name="warning_tolerance">10.0</field>
|
||||
<field name="decimals">2</field>
|
||||
<field name="description">Lead or sulfur-based stabilizer prevents decomposition.</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,170 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2026 Nexa Systems Inc.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
|
||||
Electroless nickel (EN) process types. Each type references the full
|
||||
EN parameter schema seeded in fp_bath_parameter_data.xml. The core
|
||||
category ``fusion_plating.pcat_plating`` is referenced cross-module.
|
||||
-->
|
||||
<odoo noupdate="1">
|
||||
|
||||
<record id="ptype_en_lp" model="fusion.plating.process.type">
|
||||
<field name="name">Electroless Nickel — Low Phosphorus (2–5% P)</field>
|
||||
<field name="code">EN_LP</field>
|
||||
<field name="category_id" ref="fusion_plating.pcat_plating"/>
|
||||
<field name="sequence">10</field>
|
||||
<field name="description">Highest hardness and wear resistance. Magnetic. Used where wear is priority.</field>
|
||||
<field name="icon">fa-flask</field>
|
||||
<field name="color">4</field>
|
||||
<field name="parameter_ids" eval="[(6,0,[
|
||||
ref('param_en_ni'),
|
||||
ref('param_en_hypo'),
|
||||
ref('param_en_ortho'),
|
||||
ref('param_en_ph'),
|
||||
ref('param_en_temp'),
|
||||
ref('param_en_mto'),
|
||||
ref('param_en_load'),
|
||||
ref('param_en_stab'),
|
||||
])]"/>
|
||||
<field name="hazard_notes">Nickel compounds are WHMIS 2015 Category 1A (respiratory) sensitizer and suspected carcinogen.
|
||||
Oxidic, sulphidic and soluble inorganic nickel compounds are on CEPA Schedule 1 (toxic substances).
|
||||
Hypophosphite is a reducing agent — keep away from oxidizers; explosion risk.
|
||||
Operating temperature 85–92°C — scald PPE mandatory.
|
||||
Ontario Reg. 833 air monitoring required for nickel inhalation exposure.
|
||||
NPRI Part 1A reportable.</field>
|
||||
</record>
|
||||
|
||||
<record id="ptype_en_mp" model="fusion.plating.process.type">
|
||||
<field name="name">Electroless Nickel — Mid Phosphorus (6–9% P)</field>
|
||||
<field name="code">EN_MP</field>
|
||||
<field name="category_id" ref="fusion_plating.pcat_plating"/>
|
||||
<field name="sequence">20</field>
|
||||
<field name="description">The workhorse EN deposit. Good balance of corrosion and wear. AMS 2404 class 4.</field>
|
||||
<field name="icon">fa-flask</field>
|
||||
<field name="color">6</field>
|
||||
<field name="parameter_ids" eval="[(6,0,[
|
||||
ref('param_en_ni'),
|
||||
ref('param_en_hypo'),
|
||||
ref('param_en_ortho'),
|
||||
ref('param_en_ph'),
|
||||
ref('param_en_temp'),
|
||||
ref('param_en_mto'),
|
||||
ref('param_en_load'),
|
||||
ref('param_en_stab'),
|
||||
])]"/>
|
||||
<field name="hazard_notes">Nickel compounds are WHMIS 2015 Category 1A (respiratory) sensitizer and suspected carcinogen.
|
||||
Oxidic, sulphidic and soluble inorganic nickel compounds are on CEPA Schedule 1 (toxic substances).
|
||||
Hypophosphite is a reducing agent — keep away from oxidizers; explosion risk.
|
||||
Operating temperature 85–92°C — scald PPE mandatory.
|
||||
Ontario Reg. 833 air monitoring required for nickel inhalation exposure.
|
||||
NPRI Part 1A reportable.</field>
|
||||
</record>
|
||||
|
||||
<record id="ptype_en_hp" model="fusion.plating.process.type">
|
||||
<field name="name">Electroless Nickel — High Phosphorus (10–13% P)</field>
|
||||
<field name="code">EN_HP</field>
|
||||
<field name="category_id" ref="fusion_plating.pcat_plating"/>
|
||||
<field name="sequence">30</field>
|
||||
<field name="description">Maximum corrosion resistance, non-magnetic. Aerospace and chemical industry.</field>
|
||||
<field name="icon">fa-flask</field>
|
||||
<field name="color">7</field>
|
||||
<field name="parameter_ids" eval="[(6,0,[
|
||||
ref('param_en_ni'),
|
||||
ref('param_en_hypo'),
|
||||
ref('param_en_ortho'),
|
||||
ref('param_en_ph'),
|
||||
ref('param_en_temp'),
|
||||
ref('param_en_mto'),
|
||||
ref('param_en_load'),
|
||||
ref('param_en_stab'),
|
||||
])]"/>
|
||||
<field name="hazard_notes">Nickel compounds are WHMIS 2015 Category 1A (respiratory) sensitizer and suspected carcinogen.
|
||||
Oxidic, sulphidic and soluble inorganic nickel compounds are on CEPA Schedule 1 (toxic substances).
|
||||
Hypophosphite is a reducing agent — keep away from oxidizers; explosion risk.
|
||||
Operating temperature 85–92°C — scald PPE mandatory.
|
||||
Ontario Reg. 833 air monitoring required for nickel inhalation exposure.
|
||||
NPRI Part 1A reportable.</field>
|
||||
</record>
|
||||
|
||||
<record id="ptype_en_ptfe" model="fusion.plating.process.type">
|
||||
<field name="name">Electroless Nickel — PTFE Composite</field>
|
||||
<field name="code">EN_PTFE</field>
|
||||
<field name="category_id" ref="fusion_plating.pcat_plating"/>
|
||||
<field name="sequence">40</field>
|
||||
<field name="description">EN co-deposited with PTFE particles. Self-lubricating, low friction.</field>
|
||||
<field name="icon">fa-flask</field>
|
||||
<field name="color">10</field>
|
||||
<field name="parameter_ids" eval="[(6,0,[
|
||||
ref('param_en_ni'),
|
||||
ref('param_en_hypo'),
|
||||
ref('param_en_ortho'),
|
||||
ref('param_en_ph'),
|
||||
ref('param_en_temp'),
|
||||
ref('param_en_mto'),
|
||||
ref('param_en_load'),
|
||||
ref('param_en_stab'),
|
||||
])]"/>
|
||||
<field name="hazard_notes">Nickel compounds are WHMIS 2015 Category 1A (respiratory) sensitizer and suspected carcinogen.
|
||||
Oxidic, sulphidic and soluble inorganic nickel compounds are on CEPA Schedule 1 (toxic substances).
|
||||
Hypophosphite is a reducing agent — keep away from oxidizers; explosion risk.
|
||||
Operating temperature 85–92°C — scald PPE mandatory.
|
||||
Ontario Reg. 833 air monitoring required for nickel inhalation exposure.
|
||||
NPRI Part 1A reportable.</field>
|
||||
</record>
|
||||
|
||||
<record id="ptype_en_bni" model="fusion.plating.process.type">
|
||||
<field name="name">Electroless Nickel — Boron Nickel</field>
|
||||
<field name="code">EN_BNI</field>
|
||||
<field name="category_id" ref="fusion_plating.pcat_plating"/>
|
||||
<field name="sequence">50</field>
|
||||
<field name="description">EN-boron alloy. Used where high hardness + wear + conductivity needed.</field>
|
||||
<field name="icon">fa-flask</field>
|
||||
<field name="color">2</field>
|
||||
<field name="parameter_ids" eval="[(6,0,[
|
||||
ref('param_en_ni'),
|
||||
ref('param_en_hypo'),
|
||||
ref('param_en_ortho'),
|
||||
ref('param_en_ph'),
|
||||
ref('param_en_temp'),
|
||||
ref('param_en_mto'),
|
||||
ref('param_en_load'),
|
||||
ref('param_en_stab'),
|
||||
])]"/>
|
||||
<field name="hazard_notes">Nickel compounds are WHMIS 2015 Category 1A (respiratory) sensitizer and suspected carcinogen.
|
||||
Oxidic, sulphidic and soluble inorganic nickel compounds are on CEPA Schedule 1 (toxic substances).
|
||||
Hypophosphite is a reducing agent — keep away from oxidizers; explosion risk.
|
||||
Operating temperature 85–92°C — scald PPE mandatory.
|
||||
Ontario Reg. 833 air monitoring required for nickel inhalation exposure.
|
||||
NPRI Part 1A reportable.</field>
|
||||
</record>
|
||||
|
||||
<record id="ptype_en_strike" model="fusion.plating.process.type">
|
||||
<field name="name">Nickel Strike</field>
|
||||
<field name="code">EN_STRIKE</field>
|
||||
<field name="category_id" ref="fusion_plating.pcat_plating"/>
|
||||
<field name="sequence">60</field>
|
||||
<field name="description">Thin pre-plate adhesion layer on stainless or aluminum before EN.</field>
|
||||
<field name="icon">fa-flask</field>
|
||||
<field name="color">9</field>
|
||||
<field name="parameter_ids" eval="[(6,0,[
|
||||
ref('param_en_ni'),
|
||||
ref('param_en_hypo'),
|
||||
ref('param_en_ortho'),
|
||||
ref('param_en_ph'),
|
||||
ref('param_en_temp'),
|
||||
ref('param_en_mto'),
|
||||
ref('param_en_load'),
|
||||
ref('param_en_stab'),
|
||||
])]"/>
|
||||
<field name="hazard_notes">Nickel compounds are WHMIS 2015 Category 1A (respiratory) sensitizer and suspected carcinogen.
|
||||
Oxidic, sulphidic and soluble inorganic nickel compounds are on CEPA Schedule 1 (toxic substances).
|
||||
Hypophosphite is a reducing agent — keep away from oxidizers; explosion risk.
|
||||
Operating temperature 85–92°C — scald PPE mandatory.
|
||||
Ontario Reg. 833 air monitoring required for nickel inhalation exposure.
|
||||
NPRI Part 1A reportable.</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user