Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
- Crestron
- Messages
Search
Re: Newtonsoft.JSON 4.0.8.0 dependency
Hi Dan,
Kempton is right - the error you showed in the original post is saying the epiphan module NEEDS database 200+. Looks like you¡¯re referencing old databases there. If you roll forward all versions (Studio etc) do you get a similar error but for a different module asking for 3.5? ?If so, you could then use Troy¡¯s service and remain up to date. Best regards, Oliver |
Re: Newtonsoft.JSON 4.0.8.0 dependency
Hi Dan,
I downloaded?Epiphan Pearl-2 v2 from Crestron application market and I am able to compile the sample program. I am using CresDB 207.00.01.00. I believe you only need to downgrade CresDB to pre 200 version if the Newtonsoft Json version is 3.5. It seems that version 4.0.8.0 actually needs CresDB 200+ Regards, Kempton? |
Re: Newtonsoft.JSON 4.0.8.0 dependency
I did see that, my question though is according to the posts downgrading the database versions should work however it is not, is this because of the Studio program packaging the database/device database with it? Regardless of the separate database being installed???
Also the marketplace modules i'm using say that they only work with newer databases so why the dependency warning pointing at older versions?? The wording of this error seems to imply that "this system" has an older version and the module is requesting a newer version not the other way around? |
Newtonsoft.JSON 4.0.8.0 dependency
I know there was some posts on this and the answers were to downgrade the database... Just wondering if anyone can lend some support.? I've run into this on three modules i've downloaded from the Crestron Marketplace.? They control some major parts of our system (web streaming box, DSP)...?
ERROR? (LGCMCVT149)? File: *
? ? ? ? EpiphanVideoPearl2DriverSimplPlusv2.0.usp : epiphanvideopearl2driver.dll cannot be used due to a dependency on Newtonsoft.Json.Compact, version 4.0.8.0.. The thing I find odd is when I first ran into this I went and got the newest versions of the modules from the marketplace and they all say must be used with Databases "ABOVE 200" wouldn't that mean they only work with the new databases?? I had been up to the latest updates and was trying to redo an older project in Studio.? I know they're moving to AVFramework but I have some custom parts in my project and don't think they'll work in AVF.? I tried uninstalling the database and device database and installing older versions, and figured since Studio says the database is packaged with it, walked back studio versions and no matter what when I build the project i'm still getting these compile errors and the custom modules don't work.? I'm not sure exactly which version of Studio uses which database as they dont seem to list this in release notes... Started with Studio 1.81 Went back to 1.77 1.76 at 1.75 our DMPS control system was not recognized by studio so I'm not sure if it was still throwing the error or not. The Simpl windows program also now will not compile without the error regardless of which database version I have installed. For reference I currently have device database 115.08.002.00 and database 90.00.004.00 so it should be before the update?? I tried a couple different ones from the archive section in the ftp site and none seemed to make a difference.?? If the marketplace modules say they need the newer db shouldn't they compile with the latest db versions without this error? |
Re: Rs232 Passthrough
Hi,
yes I did it. ?a bit differently, the initial controller was a controller (not crestron) without IP. ?I had to control equipment with network. ?With the first automaton I sent codes invented by me and received by the second in rs232 and according to the code received I sent back on the IP the good IP frames. ?recently I started a product that does exactly that (RS232/RS232) but with an arduino and 2 MAX232 shields. Another idea to install an epson, most have the possibility of adapting to another protocol (roof depends on the brand already in place). |
Re: Primer for 4Series Modules
#simplsharppro
Is there anything that is missing in terms of the information required for 3-series vs 4-series? After having written the code, the process is virtually the same. The primary differences being:
- You can use any IDE of your choosing - You can write code outside of the 3-series sandbox and utilize the normal full .NET framework (up to 4.7.2, but 4.7 if you want to rely on the official information provided by Crestron) - You can use newer C# language features (up to C# 7.x and possibly some syntactic C# 8 features as long as the MSIL is supported by the Mono runtime on the control processors for the corresponding 4-series firmware). The only caveat is that the SIMPL+ cross compiler does not support Tasks for async/await, and other things... If there is anything that seems confusing, I'm interested because it may be something that we can add to our existing SIMPL# Fundamentals course. -- ?
Crestron Service Provider - TBD Enterprises Inc.
|
Re: Looking for tool for mass deployment of MC4R and TSW770R. C#? Powershell?
On Thu, Mar 10, 2022 at 12:23 PM, Daniel Portugal wrote:
Here's a PS script I'm still working on. It will run the uploads concurrently on separate threads (processor vs touch panel).He's asking about Crestron Home though - you don't upload a program for Crestron Home systems. ? -- ?
Crestron Service Provider - TBD Enterprises Inc.
|
Re: Ch5, Tsw-1060, HttpPost
#ch5
You're probably dealing with CORS.
-- ?
Crestron Service Provider - TBD Enterprises Inc.
|
Re: Looking for tool for mass deployment of MC4R and TSW770R. C#? Powershell?
Here's a PS script I'm still working on. It will run the uploads concurrently on separate threads (processor vs touch panel).
It searches the current directory of the script for LPZ, VTZ, and config.json file then uploads it to a processor. ###################################################################### #Load Script ###################################################################### Clear-Host Write-Host "This script will load to the processor the latest processor and touch panel files." Write-Host "Run this script in the same location as the LPZ, SIG, VTZ, and config.json files." Write-Host "This script secure methods to upload. Enable Authentication on crestron devices." Write-Host "" Write-Host ">>>>>>>>>>>>>>>>>>>> WARNING <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" -ForegroundColor Yellow Write-Host "Crestron devices should have authentication enabled. " -ForegroundColor Yellow Write-Host "Incorrect username and password can cause your ip to be blocked." -ForegroundColor Yellow Write-Host "" Read-Host -Prompt "Press Enter to Continue. Press CTRL+C to abort" ###################################################################### #CHECK FOR REQUIRED MODULES ###################################################################### $threadjobmodule = Get-Module ThreadJob -list $crestronmodule = Get-Module PSCrestron -list if ($threadjobmodule -eq "") { Write-Host "" Write-Host "ThreadJob module is missing and is required by this script" -ForegroundColor Red Write-Host "in a powershell command line with administrative rights install the module using the command:" -ForegroundColor Red Write-Host "Install-Module -Name ThreadJob" -ForegroundColor Red Exit } if ($crestronmodule -eq "") { Write-Host "" Write-Host "PSCrestron module is missing and is required by this script" -ForegroundColor Red Write-Host "Install the Crestron EDK" -ForegroundColor Red Write-Host "https://sdkcon78221.crestron.com/downloads/EDK/EDK_Setup_1.0.5.3.exe" -ForegroundColor Red Exit } ###################################################################### # Get Filenames ###################################################################### $filenamecontains=Read-Host -Prompt "Enter File name pattern (215 or MeetingRoom)" #finds the latest LPZ $filter= "*" + $filenamecontains + "*.lpz" $fileLPZ = Get-ChildItem -Path $PSScriptRoot -Filter $filter | sort LastWriteTime -Descending | Select-Object -First 1 #finds the latest config.json $filter= "*" + $filenamecontains + "*config.json" $fileJSON = Get-ChildItem -Path $PSScriptRoot -Filter $filter | sort LastWriteTime -Descending | Select-Object -First 1 #finds the lastest touchpanel $filter= "*" + $filenamecontains + "*.vtz" $fileVTZ=Get-ChildItem -Path $PSScriptRoot -Filter *$fitler*.vtz | sort LastWriteTime -Descending | Select-Object -First 1 Write-Host "Program File Found: " $fileLPZ -ForegroundColor Cyan Write-Host "Config File Found: " $fileJSON -ForegroundColor Cyan Write-Host "Touchpanel File Found:" $fileVTZ -ForegroundColor Cyan $uploadLPZ=$TRUE if ($programlpz -eq ""){ Write-Host "Program file empty. Program will not be uploaded." $uploadLPZ=$FALSE; } $uploadJSON=$TRUE if ($configfile -eq ""){ Write-Host "Config file empty. Config will not be uploaded." $uploadJSON=$FALSE; } $uploadTP=$TRUE if ($tpfile -eq ""){ Write-Host "Touchpanel file empty. Touchpanel will not be uploaded." $uploadTP=$FALSE; } Read-Host "Continue? (press CTRL+C to abort)" $pgmFile = $PSScriptRoot + "\" + $fileLPZ $tpFile = $PSScriptRoot + "\" + $fileVTZ $configFile = $PSScriptRoot + "\" + $fileJSON ###################################################################### # GET PROCESSOR ###################################################################### $procIP=Read-Host -Prompt "Enter processor IP (defaults to 192.168.1.11)" if ($procIP -eq ""){ $procIP = "192.168.1.11" } $procUN =Read-Host -Prompt "Enter username (defaults to admin) " if ($procUN -eq ""){ $procUN="admin" } $procPW=Read-Host -Prompt "Enter password (defaults to password)" if ($procPW -eq ""){ $procPW="password" } #$programslot=Read-Host -Prompt "Enter Program Slot (defaults to 1):" #if ($programslot -eq ""){ $programslot=1 #} ###################################################################### # TOUCHPANEL ###################################################################### $tpIP=Read-Host -Prompt "Enter Touchpanel IP (defaults to 192.168.1.41)" if ($tpIP -eq ""){ $tpIP = "192.168.1.41" } $tpUN=Read-Host -Prompt "Enter username (defaults to admin) " if ($tpUN -eq ""){ $tpUN="admin" } $tpPW=Read-Host -Prompt "Enter password (defaults to password)" if ($tpPW -eq ""){ $tpPW="password" } #PROCESSOR $procJob = Start-ThreadJob -Name "ProcUpload" -ScriptBlock { $fgColor = "Cyan" $bgColor = "Black" if ($using:uploadJSON) { $remotefile="\user\" + $using:fileJSON write-host "Sending Config ["$using:fileJSON"]" -ForegroundColor $fgColor -BackgroundColor $bgColor Send-FTPFile -Device $using:procIP -LocalFile $using:configFile -RemoteFile $remotefile -Password $using:procPW -Secure -Username $using:procUN Write-Host "Sending Config Complete" -ForegroundColor $fgColor -BackgroundColor $bgColor } if ($using:uploadLPZ) { write-host "Clearing Error Log" -ForegroundColor $fgColor -BackgroundColor $bgColor Invoke-CrestronCommand -Device $using:procIP -Command clear -Password $using:procPW -Secure -Username $using:procUN write-host "Sending Program ["$using:fileLPZ"]" -ForegroundColor $fgColor -BackgroundColor $bgColor Send-CrestronProgram -Device $using:procIP -LocalFile $using:pgmFile -Password $using:procPW -ProgramSlot $using:programslot -Secure -SendSIGFile -ShowProgress -Username $using:procUN #$result.Split(";") | ForeEach { # Write-Host $_.Trim("@{;}") -ForegroundColor $fgColor -BackgroundColor $bgColor #} Write-Host "Sending Program Complete" -ForegroundColor $fgColor -BackgroundColor $bgColor } } -StreamingHost $Host #TOUCHPANEL if ($uploadTP) { $tpJob = Start-ThreadJob -Name "TpUpload" -ScriptBlock { $fgColor = "Green" $bgColor = "Black" write-host "Sending TP File ["$using:fileVTZ"]" -ForegroundColor $fgColor -BackgroundColor $bgColor Send-CrestronProject -Device $using:tpIp -LocalFile $using:tpFile -Password $using:tpPW -Secure -ShowProgress -Username $using:tpUN #$result.Split(";") | ForeEach { # Write-Host $_.Trim("@{;}") -ForegroundColor $fgColor -BackgroundColor $bgColor #} Write-Host "Sending Touchpanel Complete" -ForegroundColor $fgColor -BackgroundColor $bgColor } -StreamingHost $Host } Write-Host "Waiting all tasks to complete" # Get-Job|Wait-Job waits for all jobs to complete, Get-Job | Wait-Job # Receive-Job to get the outputs Get-Job | Receive-Job # Remove-Job to stop all jobs Get-job | Remove-Job Write-Host "Script Finished."; |
Re: Rs232 Passthrough
As Jason pointed out, it can work but can also be a big headache. If the existing code is dependent on real feedback from the projector, you'll have to emulate all of that. And then it'll be faked feedback, which could result in the system being out of sync with the actual projector's status. I'd probably try lifting the rx connection on the RS232 so it's 1-way communication. If things still work, then a translator processor should be an easy solution.
-- Josh Winn The LiquidPixel Group |
to navigate to use esc to dismiss