You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for transport order type priorities. For vehicle elements, every transport order type (that a vehicle is allowed to process) can now be assigned a priority.
Add a new key BY_ORDER_TYPE_PRIORITY that can be configured for the kernel configuration entries defaultdispatcher.orderCandidatePriorities and defaultdispatcher.vehicleCandidatePriorities. With this key configured, the priorities of a vehicle's acceptable order types are considered when assigning transport order to it.
Improve the integration of envelopes in combination with blocks. If blocks are involved when allocating resources, consider the envelopes of all resources in these blocks.
Add a creation time and finished time property to order sequences.
Allow automatic creation of parking and recharge orders to be delayed. The delay is configurable via the defaultdispatcher.parkIdleVehiclesDelay and defaultdispatcher.rechargeIdleVehiclesDelay kernel configuration entries.
Improve performance for updating transport orders, order sequences and peripheral jobs in the respective Ops Desk tables.
Update web API specification and implementation to version 1.10.0:
Add an endpoint PUT /vehicles/{NAME}/acceptableOrderTypes, which allows a vehicle's set of acceptable order types to be modified during runtime. This endpoint replaces PUT /vehicles/{NAME}/allowedOrderTypes, which is now deprecated.
Extend the endpoints for retrieving order sequences to include an order sequence's creation time and finished time.
Extend the endpoints for retrieving vehicles to include timestamps for changes to a vehicle's state and processing state.
Bugs fixed:
Avoid a NullPointerException when trying to park a vehicle whose current position is not known.
Ensure vehicles can process newly assigned transport orders after a peripheral job (created in the context of a previous transport order) has failed. Previously, failed peripheral jobs with the AFTER_ALLOCATION execution trigger could prevent vehicles from properly processing transport orders in some situations.
When loading v0.0.4 plant model files, points of type REPORT_POSITION will now be automatically converted to points of type HALT_POSITION, as support for REPORT_POSITIONs has been removed with openTCS 6.0.
When loading v0.0.4 plant model files, peripheral operations with the BEFORE_MOVEMENT execution trigger will now be automatically converted to peripheral operations with the AFTER_ALLOCATION execution trigger, as support for the BEFORE_MOVEMENT execution trigger has been removed with openTCS 6.0.
When saving a plant model via the Model Editor application with a new name, correctly set that name in the new plant model file.
Prevent vehicles whose transport order was withdrawn from being rerouted. This ensures that vehicles can finish their movement commands correctly in such cases.
Properly consider the GroupMapper implementation that is configured via dependency injection in the EXPLICIT_PROPERTIES edge evaluator.
Avoid ConcurrentModificationExceptions in the Operations Desk that could occur particularly in situations where vehicle updates are received at high frequency.
Changes affecting developers:
Deprecate methods in the Router interface that are technically outside its scope.
Deprecate Router.getCost(Vehicle, Point, Point, Set<TCSResourceReference<?>>) as Router.getRoute(Vehicle, Point, Point, Set<TCSResourceReference<?>>) already provides a way to retrieve the costs of a route.
Instead of having the total costs of a route only in Route itself, extend Route.Step to also contain the costs for a single step.