Skip to content

feature: pingWait replacement #287

@gilesknap

Description

@gilesknap

From discussion with @coretl.

The equivalent of pingWait can be an embedded entity in ibek. So that in your ioc.yaml you could add something like this:

entities:
  - ibek.check_ip
      address: 192.168.0.5
      action: wait # also supports exit which should be the default as it is more kubethonic

Because the code is in ibek it will be available to all generic IOCs. When ibek is asked to generate runtime assets it can choose to wait / restart the pod / or continue based on the IP address status.

BUT because of the power of subentities we can also embed it in the support yaml of devices that need it e.g.:

module: pmac

entity_models:
  - name: pmacAsynIPPort
    description: |-
      This will create an AsynPort connecting to a PMAC or GeoBrick over IP
    parameters:
      name:
        type: id
        description: |-
          Port Name, normally something like BRICK1port

      IP:
        type: str
        description: |-
          IP address of the geobrick

      simulation:
        type: str
        description: |-
          IP port to connect to if in simulation mode
        default: ""

    pre_init:
      - value: |
          # Create IP Port (PortName, IPAddr)
          pmacAsynIPConfigure("{{name}}", "{{IP}}")

    sub_entities:
      - type: ibek.check_ip   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< sub entity for all pmacAsynIPPort
        address:  "{{IP}}"

@ggayDiamond this is how we will do pingWait - I'll get this implemented after the EPICS meeting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions